1 名前:sage mailto:sage [04/02/23 17:36 ID:???] #================================ # スレッドの説明 #================================ 「スクリプトを改造したいけどやりかたわかんないよー」という人がいましたら ここで聞いてください。ひょっとしたらアドバイス出来るかもしれません。 質問するときは以下の点に注意して書いて下さい (1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い) (2) どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し) (3) 出来るだけ詳しく書くこと。少しは自分で考えること。できれば御礼も言ったほうが良い ※答えてくれないからといって逆ギレする厨はお断り 前スレ pc2.2ch.net/test/read.cgi/php/1063780103/
548 名前:nobodyさん mailto:sage [04/12/14 10:10:33 ID:???] >>547 スレ違い ■ 自分で改造できない場合には 【 スクリプト改造依頼スレ 】(丸投げ) part2 pc5.2ch.net/test/read.cgi/php/1092304968/2 (テンプレ)
549 名前:nobodyさん mailto:sage [04/12/14 11:04:42 ID:???] >>548 ありがとう、移動します スレ汚してごめんなさい
550 名前:6 mailto:sage [05/01/07 23:40:43 ID:???] 【. CGI名 .】 電光! v.5.20 【配布先URL】 cgiscriptmarket.com/script.html 【. 置き場所 .】 www36.tok2.com/home2/boboburajiru/xxx/data/bobo_20050107233603.lzh 【ヘルプ内容】 途中までやりましたがココからがわかりません。 ・枠がどうしても青色。黒色に変えたい。枠の太さも1pxに。 ・日付に「'」が入ってしまう。 ・1 名前 : 内容 5/06 12:40 とひとつのformで表示したい。 ・見かけ上だけ消してるだけなので要らないソースは消してしまいたいがどれを消していいかわからない。 お願いします。
551 名前:nobodyさん mailto:sage [05/01/07 23:53:58 ID:???] >>550 マルチ乙!
552 名前:6 mailto:sage [05/01/07 23:59:44 ID:???] 誘導されてきました。。 スレ違いですか?
553 名前:nobodyさん mailto:sage [05/01/08 00:55:46 ID:???] >>552 丸投げスレとperlスレみたいにあちこち書いてるだろ。 他のスレに書くなら取り消すなり移動する旨ぐらい書け。 だからマルチと言われる。 それに自分でいじってるんだろ? だからここへ誘導されたんだ。 ↓自分がどちらなのかよく考えろ。 ■ 自分で改造できない場合には 【 スクリプト改造依頼スレ 】(丸投げ) part3 pc5.2ch.net/test/read.cgi/php/1105046286/2 (テンプレ) ■ 自分で改造するアドバイスが欲しい場合には ★三 【 スクリプト改造工房 PART 8 】 ★三 pc5.2ch.net/test/read.cgi/php/1077525387/79 (テンプレ)
554 名前:6 mailto:sage [05/01/08 16:21:33 ID:???] こっちが★三 【 スクリプト改造工房 PART 8 】 ★三 で ・枠がどうしても青色。黒色に変えたい。枠の太さも1pxに。 ・日付に「'」が入ってしまう。 こっちが★三 【 スクリプト改造工房 PART 8 】 ★三 です。 見かけ上だけ消してるだけなので要らないソースは消してしまいたいがどれを消していいかわからない。 rmで表示したい。 ・1 名前 : 内容 5/06 12:40 とひとつのformで表示したい。
555 名前:nobodyさん mailto:sage [05/01/14 22:12:47 ID:???] 【. CGI名 .】 WwwSearch Ver3.15 - 検索フォーム 【配布先URL】 ttp://www.tohoho-web.com/wwwsoft.htm 【ヘルプ内容】 検索結果を、5件ごとや10件ごとに表示させるようにしたいです 自分がいじった部分のソースを貼ります sub search1 { local($dir) = $_[0]; local(@filelist, $file, $filename); opendir(DIR, $dir); @filelist = readdir(DIR); closedir(DIR); $begin = $FORM{'page'} * $hyouji; $end = $bigin + $hyouji; if($end > @filelist) { $end = @filelist; } (続く)
556 名前:555 mailto:sage [05/01/14 22:13:34 ID:???] #foreach $file (@filelist) { for ($a = $bigin; $a < $end; ++$a) { if ($file eq ".") { next; } if ($file eq "..") { next; } $filename = "$dir/$file"; if (-d $filename) { if ($recursive_flag) { &search1($filename); } } else { &search2($filename, $dir); } } if ($end < @filelist) { $nextpage = $FORM{'page'} + 1; print "<a href=\"$ENV{'SCRIPT_NAME'}?page=$nextpage\">次へ</a>\n"; } # } }
557 名前:555 mailto:sage [05/01/14 22:18:04 ID:???] foreachのかわりにforでまわしてみたんですが 結果は検索が一件もされず「次へ」のみが表示されてしまいます アドバイス、解決法よろしくお願いします
558 名前:nobodyさん mailto:sage [05/01/15 19:29:07 ID:???] >>555 久しぶりに改造工房にお客が来たのに放置されているなぁ〜 sub search1の@filelistだが、お前はこの配列に検索に引っかかったものが入っていると思っているだろ? 残念。 @filelistには対象ディレクトリの中にある全てのファイルが格納されている。 試しに closedir(DIR); のあとに errexit("@filelist"); って入れてごらんよ。 漏れならsub search1とsub search2を大改造しる。 opendir(DIR, $dir); で、指定してた拡張子のファイルのみを @filelistに入れていく。
559 名前:555 mailto:sage [05/01/15 23:08:47 ID:???] >558 指摘、アドバイスありがとうございます となるとforループ自体がおかしいことになりますね なんだか煮詰まってテンパってきました もちょっとガンガってみますです…
560 名前:nobodyさん mailto:sage [05/01/16 03:38:30 ID:???] KENTのBBSのソースでも眺めれ。 たいていは件数によって次ページ送りの機能がついているから。
561 名前:nobodyさん [05/01/17 11:01:28 ID:gvEGsU/w] 丸投げの方で放置されそうな勢いなので、自分で努力しつつこちらで質問します。 【. CGI名 .】 HiLink Type-B 【配布先URL】 ttp://www.e-hws.net/cgi_index.html 簡易表示の方法をちょっと変えたいです。新着順とランキング順しかソート方法が無いのですが、 これをタイトル(サイト名)で50音表示できるように変更したいです。 利用方法としては「ランキング表示」リンクボタン(?)を「50音表示」とし、クリックするとで50音順で 並ぶというものです。 表示方法なんかを改造してるので、行数が合わないと思われるので、名前で場所を伝えます。 sub mainの「表示データ作成」にある「# ランキング表示の場合、ソートする」をどうにかしたら良いんですよね? $ititleと$jtitleがサイト名のようです。 さらに、その下の「if( $iclicknum < $jclicknum ){」の部分を書き換えれば良いとは思うのですが… 素人ながらに「if( $ititle < $jtitle ){」ってしてみましたが、案の定変化無しです。 どのようにしたら50音順に並べる事が可能ですか? 宜しくお願いします。
562 名前:nobodyさん mailto:sage [05/01/17 18:56:00 ID:???] >>561 規約は読んだのか? 再配布禁止&&使用者はメールで届出の義務あり
563 名前:555 mailto:sage [05/01/18 19:32:37 ID:???] >560 眺めて悩んでいたらなんかわかってきました 558さん560さん、アドバイスありがとうございました
564 名前:nobodyさん mailto:sage [05/01/18 20:55:07 ID:???] >>562 このスレは改造工房であり、改造済みのスクリプトを手渡すわけではないので再配布禁止には当たらないかと… それにまだ改造したものを設置してないので、メールはまだしなくてもよいかと… 要するにヒントだけ与えれば質問者が何とかするって言うスレなので問題はないかと… >>561 今ちょっと忙しいので、そのうちスクを見てみるわ。
565 名前:nobodyさん mailto:sage [05/01/19 05:16:19 ID:???] >>561 惜しい。 Perlは数値か文字列かで比較演算子が異なる。 < の代わりに gt を使えば丁度だな。
566 名前:561 [05/01/19 10:15:04 ID:sYVj0TcQ] >>564 >>565 フォロー&返答ありがとうございます。 ばっちり出来ました。 文字列は数字じゃないから数字の演算式記号は使えないって事で覚えててOKでしょうか? アドバイスありがとうございました!
567 名前:730 mailto:sage [05/01/23 11:37:56 ID:???] 他スレから誘導されて来ました。 会員制掲示板のPerlCGIスクリプトです。普通の掲示板(KENTさんの書籍のスクリプトを参考に、過去ログ 作成機能と検索機能を削除した)に、IP制限とパス制を組み合わせ改造しました。 ✓で特定のIP(@allow)だったら認証画面(&admin)を出し、パスが合ったら掲示板を表示させる(&bbs)。 IPおよびパスが合わなければエラーを返す、・・・つもりでした。しかし下記のスクリプトでは認証画面は 表示しますが、パスを入力しても認証画面、パスミスでも認証画面になるという状態で、 どうにも煮詰まってしまいました。どこがおかしいのかご教授下さい。これでもIP制限は動作しています。 スクリプトはここにアップしました。該当部分だけ。 up.isp.2ch.net/up/af9977328ccc.txt
568 名前:730 mailto:sage [05/01/23 12:14:51 ID:???] ついでにお聞きします。 【スクリプト名】 Web拍手(公式HPから配布版DL。2004年10月。) 【CGIソース】 kaiseki.cgiだけ。 up.isp.2ch.net/up/18cf046e2758.txt 【改造した内容】 ●過去15日分のデータを保存し表示するのを、31日分にする。(crap.cgiとkaiseki.cgi) ●アクセス解析機能を追加し、拍手した人のホスト名をaccess.datに保存する。(crap.cgi) ●このスクリプトへアクセスしたときの画面にはaccess.datへのリンクを張る。 ●DLしたままのスクリプトでは、解析グラフのタグがぐちゃぐちゃだったので そこも変更。時間ごとのグラフも縦表示から横表示に変更し、31日表示を しやすくした。 ●グラフの画像も横表示に対応させた。 [現在困っていること] 上記改造を加えたあと先週までは問題なく動作していたのですが、今日アクセス してみたらスクリプトエラーが発生していました。拍手機能は動作しています。 kaiseki.cgiは、上記改造後何も手を加えていないので普通は起こりえないエラーです。 ただ原因として、ローカルに保存していたこのスクリプト(アプロダに挙げたもの)が 間違っていて、サーバーで動作していたのはサーバー側で直接書きなおしたからでミラーリング していなかった。それをFTPソフトの誤動作で全ファイルを送信したために、動かないローカルの スクリプトで更新されてしまった・・・というのが考えられます。 #FTPソフトのログにはこのファイルを送信したという記録はないのですが、一昨日以前のログが #消えているのでわからない。 そこでUPしたこのスクリプトを眺めてみたのですが、どこがおかしいのかわかりません。 pcheck.cgi(Perlスクリプト文法チェッカ)ではsyntax errorの発生はありませんでした。 なにか間違っているところがありましたら教えてください。
569 名前:nobodyさん mailto:sage [05/01/23 13:17:49 ID:???] >>567-568 アップ先が表示できません
570 名前:567 mailto:sage [05/01/23 16:52:48 ID:???] ありゃ。失礼しました。申し訳ないです(大汗) UPしなおしました。 >>567 yellow.ribbon.to/~mintplace/a.txt >>568 yellow.ribbon.to/~mintplace/kaiseki.txt
571 名前:555 [05/01/23 22:33:51 ID:a5mA126v] 再びすみません 【. CGI名 .】 WwwSearch Ver3.15 - 検索フォーム 【配布先URL】 ttp://www.tohoho-web.com/wwwsoft.htm 【ヘルプ内容】 検索結果を、「次へ」ボタンを押して、次の件をひょうじさせたいです 5件ごとや10件ごとの表示は最初だけは表示できるようになりました 「次へ」ボタンを押して、次の件をひょうじさせたいのですが うまくいきません この文を最後に追加しました print "<form method=\"POST\" action=\"$script?page=$page&word=$word\">\n"; print "<input type=\"submit\" value=\"次へ\">"; print "</form>"; 「次へ」ボタンを押しても検索結果が出てきません 何かたりないのでしょうか かなり悩みましたが答えが見つかりません ヒント、アドバイスお願いします
572 名前:nobodyさん mailto:sage [05/01/23 22:37:48 ID:???] 書き忘れました >571の文の前に $page=$FORM{'page'}; $word=$FORM{'word'}; を実行しています $scriptには自身のCGIファイルの名前が入ってます
573 名前:nobodyさん mailto:sage [05/01/24 00:23:35 ID:???] >>572 掲示板スクリプトを拾って読んでみたら応用できるんじゃない?
574 名前:nobodyさん mailto:sage [05/01/24 00:33:32 ID:???] >>572 かなり勘で答えるけど、 <form method=\"POST\" action=\"$script?page=$page&word=$word\"> これをこんな風にしたらだめ? <form method=\"POST\" action=\"$script¥"> <input type=\"hidden\" name=\"page\" value=\"$page\"> <input type=\"hidden\" name=\"word\" value=\"$word\"> それと、$pageが、ボタンを押したら変化する(=数字が増えたり減ったり) ようになってますか? (FORMのほうの数字が固定だったら、最初のページしか動かない。)
575 名前:572 mailto:sage [05/01/24 01:12:24 ID:???] >573 掲示板スクリプト眺めてるんですが 一向にらちがあかないのです;; >574 ありがとうございます 試してみましたが、結果はやっぱり同じでした 「次へ」を表示するとこまではいいんですが 押しても、検索フォームだけ出て結果は出ないのです ソースも晒したほうがいいでしょうか?
576 名前:572 mailto:sage [05/01/24 01:16:02 ID:???] >574 うっかりしてました この文の直前に $nextpage = $FORM{'page'} + 1; をしています print "<input type=\"hidden\" name=\"page\" value=\"$nextpage\">\n"; にしても結果変わらずです
577 名前:nobodyさん mailto:sage [05/01/24 01:33:30 ID:???] そんな送信する側の記述を書かれたってわかるわけない。 page=$pageとword=$wordという値を受け取ってどういう処理をさせてる?
578 名前:572 mailto:sage [05/01/24 09:52:41 ID:???] >577 sub readform { if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'}); } else { $query_string = $ENV{'QUERY_STRING'}; } @a = split(/&/, $query_string); foreach $x (@a) { ($name, $value) = split(/=/, $x); $value =~ tr/+/ /; $value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg; $FORM{$name} = $value; } } の後 $page = $in{'page'}; $word = $in{'word'}; を実行してます (続く)
579 名前:572 mailto:sage [05/01/24 10:03:39 ID:???] (続き) if ($word =~ /[\x80-\xff]/) { # 日本語が含まれているフラグ $jflag = 1;# 日本語が含まれている # 一度EUCに変換する &jcode'convert(*word, "euc"); # 全角空白を半角空白に置換する(EUCの空白は#A1A1) $word =~ s/([\x80-\xff][\x80-\xff]|[\x00-\x7f])/($1 eq "\xa1\xa1") ? " " : $1/eg; # SJISモードであればSJISに変換する if ($kcode_file eq "sjis") { &jcode'convert(*word, "sjis"); } } sub search1の中から抜粋 if (defined($FORM{'WORD'})) { # メタ文字を無効化する if (!$jflag) { $word =~ s/([\+\*\.\?\^\$\[\-\]\|\(\)\\])/\\$1/g; } # 検索語を分割する @words = split(/ +/, $word); # 検索する print "<dl>\n"; @dirs = split(/ +/, $target_dir); foreach $dir (@dirs) { &search1($dir); }
580 名前:572 mailto:sage [05/01/24 10:07:38 ID:???] $pageは>576にも書いたのですが$nextpageにしてますので 今は使ってません 最初の一回目は5件表示されるのに 「次へ」を押すと検索フォームだけ出て、結果が出ないのがはがゆくてなりません これで参考になりますでしょうか?
581 名前:nobodyさん [05/01/24 10:18:02 ID:f8wXJteD] >>580 Perlってデバッガ無いの? PHPだとZend入れてればIEの右くりメニューからデバッガ起動するよ。
582 名前:572 mailto:sage [05/01/24 10:28:28 ID:???] 一番重要なトコ忘れてました sub search2の中から抜粋 $bigin = $FORM{'page'} * $hyouji; $end = $bigin + $hyouji; if($end > @filelist) { $end = @filelist; } 中略 if ($bigin <= $a) { if ($a < $end) { $h_k++; print "<dt>■ <a href=\"$target\" target=\"out\">"; $title =~ s/<[^>]*(>|$)//g; $title =~ s/[\r\n]+//g; &jcode'convert(*title, $kcode_cgi); if ($title eq "") { $title = $target; } print "$title</a>\n"; if ($print_filename) { print "( <a href=\"$target\" target=out>"; $target =~ s/$tdir\/?//; print "$target</a> )\n"; } print "<dd>"; $imin = $i - $how_many_lines; if ($imin < 0) { $imin = 0; } $imax = $i + $how_many_lines; if ($imax > $#lines) { $imax = $#lines; }
583 名前:nobodyさん [05/01/24 10:29:17 ID:CX5KANJQ] for ($j = $imin; $j <= $imax; $j++) { $line = $lines[$j]; &jcode'convert(*line, "euc"); line =~ s/<[^>]*(>|$)//g; $tmp = $word; &jcode'convert(*tmp, "euc"); if ($jflag) { $tmp =~ s/([\+\*\.\?\^\$\[\-\]\|\(\)\\])/\\$1/g; } foreach $w (@words) { $w2 = $w; &jcode'convert(*w2, "euc"); $line =~ s/($w2)/<b>$1<\/b>/ig; } &jcode'convert(*line, $kcode_cgi, "euc"); print "$line "; if ($end >= @filelist) { exit; } } if ($h_k == $hyouji) { $nextpage = $FORM{'page'} + 1; print "<form method=\"POST\" action=\"$script\">\n"; print "<input type=\"hidden\" name=\"page\" value=\"$nextpage\">\n"; print "<input type=\"hidden\" name=\"word\" value=\"$word\">\n"; print "<input type=\"submit\" value=\"次へ\">"; print "</form>"; } } }
584 名前:nobodyさん mailto:sage [05/01/24 12:14:55 ID:???] 部分だけじゃなくてどっかに全部うpしろや。
585 名前:nobodyさん mailto:sage [05/01/24 12:35:13 ID:???] >>567 ✓ # アクセスチェック if ($mode eq ''){ &admin; } if ($FORM{'pass'} ne "$pass") {&error("パスワードが違います");} if ($mode eq 'regist'){ ®ist; } &bbs; exit; sub check { # アクセス制限 $host = gethostbyaddr(pack("C4", split(/\./, $ENV{'REMOTE_ADDR'})), 2) || $ENV{'REMOTE_ADDR'}; foreach $i (@allow) { if ($host =~ /$i/) { return; } } &error("アクセスが許可されていません"); exit; } sub admin { #認証 &header; print << "_ID"; <form action="$script" method="POST"> <input type=hidden mode=bbs size="8"> <input type=text name=pass size="8"> <input type=submit value="認証"> </form> _ID &footer; exit; } 全体がわからんけどこんなところか。 ただしこれだけじゃなくて全体にも手を入れないと動かんよ。
586 名前:572 mailto:sage [05/01/24 18:07:17 ID:???] >584 うpしました www.uploda.org/upload.cgi?mode=dl&file=34893 受信パスは「cgi」です よろしくお願いします
587 名前:567 mailto:sage [05/01/24 22:09:17 ID:???] >>568 解決しました。jcode.plのパスが違ってました。 わかってみれば、にんともかんとも(滅) お騒がせしました。 >>566 についてはまだです。 パス認証だけどうしてもうまくいきません(TT)
588 名前:nobodyさん mailto:sage [05/01/25 04:15:56 ID:???] ttp://www.net-easy.com/psw/ezpsw.html のパスワード認証&自動発行スクリプト ttp://cat.zero.ad.jp/mouse/download/psw/ezpsw_cgi.txt まず、115行のメールアドレス入力欄 <INPUT name="mail_add" size="30"><BR> を <INPUT name="mail_add_a" size="30"><BR> <select name="mail_add_b"> <option value="\@docomo.ne.jp">\@docomo.ne.jp</option> <option value="\@ezweb.ne.jp">\@ezweb.ne.jp</option> <option value="\@c3.ezweb.ne.jp">\@c3.ezweb.ne.jp</option> </select> のように2段階入力にして、 ("mail_add_a"はメアドの@までのアカウント、 "mail_add_b"は@以降のドメイン名として代入) 147行 $mail_add = $in{'mail_add'}; の部分で 上記フォームから受け渡される"mail_add_a"と"mail_add_b"を連結して 変数 $mail_add に代入されるようにしたいのですが、 $in{'mail_add'}; の部分をどのように書き換えれば2つの文字列を連結させられるでしょうか?
589 名前:588 mailto:sage [05/01/25 04:31:03 ID:???] 付け足し 147行はメアドの書式をチェックする部分です。
590 名前:nobodyさん mailto:sage [05/01/25 11:35:50 ID:???] >>588 $mail_add = $in{'mail_add_a'} . $in{'mail_add_b'};
591 名前:nobodyさん mailto:sage [05/01/25 21:21:27 ID:???] >>590 解決しました。 vrytnx
592 名前:572 mailto:sage [05/01/27 21:43:23 ID:???] 忘れてました # このスクリプトの名前 $script = "kensaku2.cgi"; (78〜79行目辺り)の部分をスクリプトの名前に変えてください よろしくお願いします
593 名前:572=586 [05/01/28 22:52:33 ID:wG0bpuZu] うpしなおしました ttp://www.uploda.org/upload.cgi?mode=dl&file=36634 デバッグしてみると 「次へ」ボタンが押された時、検索語が受け渡されていないようです どこをいじればいいかわからなくなってきました アドバイスお願いします
594 名前:nobodyさん [05/01/29 16:02:16 ID:BgaXde9b] 【. CGI名 .】 Design BBS 1.80 【配布先URL】 prism-web.com 【ヘルプ内容】 このCGIについている、特定のIPからのアクセスを拒否するアクセス制限を、逆に特定のIPからのアクセスだけOKにするアクセス制限に変更したい。どうすればよいか。 DLしたままのファイルで、sub axs_checkのflagを逆にしてみたらスクリプトエラーになってしまい、他にどうすればよいかわからなくなった。 ーーここからスクリプト @deny = ( "hogehoge.com", ); &decode; #フォームデコード &axs_check; #アクセス制限 #(中略):フォームの設定が数行 &html; #BBS本体表示 # アクセス制限 sub axs_check { &get_host; if ($deny[0]) { local($flag)=0;#ここを1にして・・・その下の$flag=1を0にするとスクリプトエラー。 foreach (@deny) { #↓これは、@denyにないIPならループ抜けの意味ですよね?違う?(・・、 if ($_ eq '') { last; } $_ =~ s/\*/\.\*/g; if ($host =~ /$_/) { $flag=1; last; } } if ($flag) { &error("許可されていないアクセスです!") } } }
595 名前:594 mailto:sage [05/01/29 16:03:22 ID:???] # ホスト名取得 sub get_host { $host = $ENV{'REMOTE_HOST'}; $addr = $ENV{'REMOTE_ADDR'}; # ホスト名取得に gethostbyaddr関数を使用する場合は$gethostbyaddr = 1;にします。 $gethostbyaddr = 1; if ($gethostbyaddr) { if ($host eq "" || $host eq "$addr") { $host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2); } } if ($host eq "") { $host = $addr; } }
596 名前:nobodyさん mailto:sage [05/01/29 16:57:47 ID:???] >594-595 俺もperlをちょこっといじって遊んでるくらいの人間なんで、あんま自信ないけど・・・ if ($deny[0]) { local($flag)=0; foreach (@deny) { #↓これは、@denyから取り出した内容($_)が空('')だったらループ抜け、だと思 if ($_ eq '') { last; } $_ =~ s/\*/\.\*/g; if ($host =~ /$_/) { $flag=1; last; } #↑アクセスした人のホスト($host)に@denyから取り出した内容($_)が #↑含まれていたら$flagの値を1にしてループを抜ける #↑つまり「$flag==1なら拒否」 # これを「$flag==1なら許可」に変えたい → 言い換えると「$flag=!1なら拒否」 } if ($flag=!1) { &error("許可されていないアクセスです!") } #↑ということでここをこう変更すればいけるんでは? } ただ「特定のIPからの制限」なら、$hostじゃなくて$addrにするべきなんじゃ?って気がするけど
597 名前:594 mailto:sage [05/01/29 21:54:11 ID:???] >>596 if ($flag=!1) { &error("許可されていないアクセスです!") } これだと500エラーになってしまいましたです。 で if ($flag ne "1") にしてみましたが、こっちも500エラー。 if ($flag = "0")も500エラーでした。 >>594 だったらちゃんと動作するんですけど・・・(><)
598 名前:594 mailto:sage [05/01/29 22:21:41 ID:???] フラグを使わない方法を考えてみましたが・・・ sub axs_check { # ホスト名を取得 &get_host; if ($deny[0]) { foreach (@deny) { if ($_ eq '') { &error("許可されていないアクセスです"); last;} $_ =~ s/\*/\.\*/g; if ($host eq~ /$_/) { last;} #こうしたら、@denyのIPでのアクセスがエラーになる。 #$host ne にするとスクリプトエラーに。 } } } お手上げです(TT)
599 名前:594 mailto:sage [05/01/30 01:16:06 ID:???] たぶんできました。 sub axs_check { # ホスト名を取得 &get_host; if ($deny[0]) { local($flag)=0; foreach (@deny) { $_ =~ s/\*/\.\*/g; if ($host =~ /$_/) { $flag=1; last; } } if (!$flag) { &error("許可されていないアクセスです!") ; exit;} } } これで何とか動作しました。 >>596 さん、いろいろヒントありがとうでした。 >>595 の >if ($_ eq '') { last; } これ、@denyが空の設定がありうる、ということを失念しておりました(^-^; #だってデフォルトからして空ではなかったので、なんて言い訳してみるテスト(ぉぉ
600 名前:nobodyさん mailto:sage [05/01/30 05:18:46 ID:???] つか、500エラーに対処できないのかね? 多分こいつは共有サーバでテストしながら改造している希ガス
601 名前:594 mailto:sage [05/01/30 11:57:38 ID:???] なんかエラった(汗) >>600 文法チェックの結果エラーがなく、 InternalServerErrorになる理由がわからないというだけの話です。 IPの判断に関してはローカルではテストできないので 確かに共有鯖にしましたけど、 ローカルでテストする方法あります?
602 名前:nobodyさん mailto:sage [05/01/30 12:02:58 ID:???] >>601 500エラーについて CGI設置について質問 【Part2】 pc5.2ch.net/test/read.cgi/php/1104624784/2
603 名前:nobodyさん mailto:sage [05/01/30 17:01:23 ID:???] >>601 &get_host; をコメントアウトして代わりに $host = 'ダミーのアドレス';を書けばいいだろ
604 名前:nobodyさん mailto:sage [05/01/31 23:38:23 ID:???] 質問にあったスレが見当たらないのでお邪魔します CGI配布場所 ttp://sugachan.dip.jp/download/ サンプル ttp://sugachan.dip.jp/download/sample/upload.html 特定IP・串からのアクセス・DLを弾きたいのですが 特定IPの場合 $set{'deny_host'} = ' ';に何を入れればいいのでしょうか? そして上にIPを入れた場合は直リンからのDLも防げるのでしょうか 検索してみたのですがわけがわからず途方にくれています
605 名前:nobodyさん mailto:sage [05/01/31 23:52:38 ID:???] >>604 ここは改造スレなのでスレ違い。 CGI設置について質問 【Part2】 pc5.2ch.net/test/read.cgi/php/1104624784/
606 名前:nobodyさん mailto:age [05/02/03 10:49:14 ID:???] 丸投げスレッドから来ました。 期限が近いのでどうぞよろしくお願いします 【. CGI名 .】 検索専用データベース Ver2.04 【配布先URL】 ttp://cgiroom.nu/ 【. 置き場所 .】 ttp://hpcgi2.nifty.com/wanchan/downlode.cgi/database2_04.lzh 【 依頼期限 】 出来れば1週間ほどで。 【. 依頼内容 】検索結果に画像を表示、新着情報等がわかるように。 の2点をしたいのですが、よくわかりません。 理想としては ttp://rikunabi-next.yahoo.co.jp/rnc/docs/cp_s00010.jsp のような感じにしたいです。 どうぞよろしくお願いします。
607 名前:nobodyさん mailto:sage [05/02/03 15:09:30 ID:???] >>606 >丸投げスレッドから来ました。 >期限が近いのでどうぞよろしくお願いします (゚Д゚)ハァ? スレ違いは帰れ
608 名前:nobodyさん mailto:sage [05/02/04 00:30:42 ID:???] >605 改造だと思っていたのですが、違っていたのですね お礼が遅れてすいませんでした ありがとうございます
609 名前:606 [05/02/04 10:07:39 ID:x2xOcYLj] すみません、書き方がおかしかったです。 丸投ではなく、出来るだけ自分でどうにかしたいので 改造の方に来ました。という意味です。 >607様わかってもらえたでしょうか?
610 名前:nobodyさん mailto:sage [05/02/04 11:25:07 ID:???] >>609 要するにマルチって事だろ? 期限って何よ?
611 名前:nobodyさん mailto:sage [05/02/04 13:47:30 ID:???] >>610 期限は前スレッドで記入するところがあったので そのまま流用してみました。 期限を決め、大体そのくらいで出来ればいいな。 という希望的観測も含まれています。 前スレッドに移動しますと言う旨を書いてるので マルチではないかと思いますがどうでしょうか? 分かりにくくてすみません。
612 名前:nobodyさん mailto:sage [05/02/05 09:23:59 ID:???] omae no taido ga kiniiran
613 名前:nobodyさん mailto:sage [05/02/05 18:32:34 ID:???] 態度が悪く申し訳ありません。 悪かった点がありましたら、謝りますので どうにかしていただけないでしょうか?
614 名前:nobodyさん mailto:sage [05/02/06 05:14:40 ID:???] やっぱ人に依存しっぱなしのヤツってどっか抜けてるんだな。 漏れもperlの文法とかはさっぱりだけど、 最低限自分のしたいようにするためにhtmlの出力部分をいじったり どの変数がどういう処理に回されてるかを必死ににらめっこして自分なりに判断して、 その上で具体的にどの部分をどうしたいかを明記するもんだと思うんだけどね。 質問があまりにも抽象的だったり漠然としすぎているから 正直誰も答えようがないし、答える気もしないんじゃないかな。 2chでは社交辞令的な事には誰も関心なくて、 用件をはっきり伝えて手短に済ませるってなスタイルが定着してると思うしね。
615 名前:nobodyさん mailto:sage [05/02/07 02:06:50 ID:???] 「俺パソコンとかよくわかんねーからさぁ」って、開き直ってる人が多いッす。 大抵は少し経てばそういう気分は抜けて「そろそろ俺も中級者って感じィ♪」と思うんだけど、新しい分野に取り組むと またお手上げ状態…みたいな。 身近にそういう人が何人かいるのでよくわかるッす。 まあ、なんでもかんでもそうですけど、わからなくてもとりあえずチャレンジすることって大切ッす。 いや勿論、責任の取れる範囲でのハナシッす。 >>14 みたいな文は誘導のテンプレにしたいッす。
616 名前:nobodyさん mailto:sage [05/02/07 12:32:17 ID:???] 社交辞令っつーかさ「ひとまず謝ってみた」って姿勢がな。 あと「ドーユーアンダスタン?」な返答って「アンタ馬鹿?」って言ってんのに等しいぞ。 教えを請う態度じゃないよね。やる気の問題。 丸投げスレじゃなくてさ、改造スレなんだから。 まずおまぃさんのスキルが不明、prog理解度が不明。 何をやってみてどうダメだったのかのかが不明。 ソース丸ごと表示して「○○行目に以下を追加して〜」 「□□を△△に書き直して〜」とか言って欲しいのか? それは丸投げっていうんだぞ。 お前宿題って先生に答え聞いてノートに丸写しする事だと思ってなぃ?
617 名前:nobodyさん mailto:sage [05/02/07 12:35:44 ID:???] どっちにしろここでも丸投げでももう相手にされないから諦めるだろ
618 名前:nobodyさん mailto:sage [05/02/07 18:10:45 ID:???] どこがどう解らないかを提示できないってのは、 理解しようという意識が薄い顕れだからね。 1つ問題が解決できても、また同じような事で質問してくる確変パターンに繋がるのが オチだし
619 名前:nobodyさん mailto:sage [05/02/07 18:52:22 ID:???] omae no taido ga kiniiran
620 名前:nobodyさん mailto:sage [05/02/10 20:59:03 ID:???] BBQ あらしお断りシステム bbq.uso800.net/ bbq.uso800.net/code.html を掲示板に組み込みたいのですが、ソースをそのままコピペしてもできません。 どこを変えればいいか教えて頂けないでしょうか?
621 名前:nobodyさん mailto:sage [05/02/11 01:05:32 ID:???] >>620 エスパーキボンヌですか?
622 名前:nobodyさん mailto:sage [05/02/11 03:01:13 ID:???] 既存のcgiに下のような環境変数のアクセスをはじく機能をつけたいのですが どんな風に追加したらいいのでしょう? 'HTTP_VIA', 'HTTP_X_FORWARDED_FOR', 'VIA', 'HTTP_FORWARDED', 'FORWARDED', 'HTTP_X_BLUECOAT_VIA', 'HTTP_PROXY____', 'HTTP_PROXY___________', 'HTTP_PROXY_CONNECTION', 'HTTP_X_HOST', 'HTTP_X_REFERER', 'HTTP_X_SERVER_HOSTNAME', 'PROXY_HOST', 'PROXY_PORT', 'PROXY_REQUEST', 'HTTP_CLIENT_IP', 'HTTP_PRAGMA'
623 名前:nobodyさん mailto:sage [05/02/11 04:27:14 ID:???] 「既存のcgi」って言われても、千差万別。何につけたいんだ?
624 名前:622 mailto:sage [05/02/11 11:59:46 ID:???] bbsのcgiです。 例えばkentのとか。 www.kent-web.com/bbs/index.html
625 名前:nobodyさん [05/02/11 14:26:33 ID:5gSqwCgm] はじめまして。自分の手ではどうしても改造しきれなかったのでここで質問させていただきます。 配布元:dream.lib.net/room/ スクリプト名:Power Search 登録式のサーチエンジンです。 マークサイトというものを複数登録する事ができるのですが、仕様では8個までしか登録できません。 これを22個登録できるように改造したいのですがうまくいきません。 ps_user.cgiの313〜324行目あたりの ☆マーク<br> EOD for (0 .. 7){ next if $marks[$_][1] eq ""; if ($data =~ /^\d*$_\d*</){ $buffer2.="<input type=\"checkbox\" name=\"sitemark\" value=$_ checked>$marks[$_][0]<br>\n"; }else{ $buffer2.="<input type=\"checkbox\" name=\"sitemark\" value=$_>$marks[$_][0]<br>\n"; } } $buffer2.="<br>"; $buffer3 = <<EOD; を改造し、22個のマークが表示されるようにはなったのですが チェックしていないチェックボックスにチェックが入ってしまうという不具合が起こりました。 よろしければ問題点を教えてください。
626 名前:nobodyさん mailto:sage [05/02/11 17:27:38 ID:???] W3C形式の日時を YYYY年 MM月 DD日 hh時 mm分 に変換したいです。 参考 Perlメモ/W3C形式の日時の解析 digit.que.ne.jp/work/index.cgi?Perl%A5%E1%A5%E2%2FW3C%B7%C1%BC%B0%A4%CE%C6%FC%BB%FE%A4%CE%B2%F2%C0%CF 2005-02-10T14:54:18+09:00 を変換する場合、どう書けばいいのでしょうか?
627 名前:nobodyさん mailto:sage [05/02/11 19:56:25 ID:???] >>626 マッチや split
628 名前:nobodyさん mailto:sage [05/02/12 05:57:07 ID:???] >626 マルチすんな、ヴォケ。 pc5.2ch.net/test/read.cgi/php/1106816922/331
629 名前:nobodyさん mailto:sage [05/02/12 14:58:20 ID:???] cgiにこういうのを入れて、リストにあるIPを弾いています。 これを逆にリストにあるIPだけ許可できるように改造できないでしょうか? お願いします。 &hostcheck; sub hostcheck{ local($host_file,$remote_host,$line); local(@lines); $host_file = './host.dat'; $host=$ENV{'REMOTE_HOST'}; open(DB,"$host_file") || die "Cannot Open Log File $host_file: $!"; @lines = <DB>; close(DB); foreach $line (@lines) { next if(length($line)<4); chop $line; if( $host=~/$line/ ){print "Status: 204\n\n";exit;} } }#hostcheck END
630 名前:nobodyさん mailto:sage [05/02/12 15:56:04 ID:???] >629 if( $host=~/$line/ ){print "Status: 204\n\n";exit;} この{ }の中を許可したIP用の対応に書き換える↑
631 名前:nobodyさん mailto:sage [05/02/12 16:22:03 ID:???] >>629 $ENV{'REMOTE_HOST'};でホスト名を返さないサーバが多数。 ドツボにはまる予感がするぞ。
632 名前:625 mailto:sage [05/02/12 18:19:25 ID:???] 丸投げスレへ行きます。ありがとうございました
633 名前:629 mailto:sage [05/02/14 19:08:26 ID:???] &hostcheck; sub hostcheck{ local($host_file,$remote_host,$line); local(@lines); $host_file = './host.dat'; $jump = "./abc.html"; $host=$ENV{'REMOTE_HOST'}; open(DB,"$host_file") || die "Cannot Open Log File $host_file: $!"; @lines = <DB>; close(DB); foreach $line (@lines) { next if(length($line)<4); chop $line; if( $host=~/$line/ ){print "Location: $jump\n\n";exit;}} }#hostcheck END こういう感じで特定のファイルにアクセスさせればいいのでしょうか・・
634 名前:nobodyさん mailto:sage [05/02/14 23:47:48 ID:???] ■ 自分で改造する時にアドバイスが欲しい場合には ★三 【 スクリプト改造工房 PART 8 】 ★三 pc5.2ch.net/test/read.cgi/php/1077525387/79 (テンプレ)
635 名前:nobodyさん mailto:sage [05/02/15 12:28:07 ID:???] はじめまして、少し質問させてください。 www.hot-dining.com/free_cgi/256palette.php で配布されています 「256palette」というカラーパレットのCGI(PHP)を、 useyan.pupu.jp/s/cgis/twin.html に組み込みたいのですが、 上手く動かず分からなくなったので伺ってみました。 上記「Twin」チャットの動作サンプルがコチラで、 useyan.pupu.jp/s/twins/ コチラの「じぶんいろ」という文字にリンクを貼り、となりのテキストボックスで動作するように 256paletteを組み込みたいのですが、twin.cgiのheadタグ内に設置手順@を貼り付け、 446行目を <form action="$script" method="get" target="_self"> ↓ <form name="mae" action="$script" method="get" target="_self"> 469・470行目を <input type="text" name="irom" size=10 value="$cirom" class="text"> <font $fontm><b>じぶんいろ</b></font></font> ↓ <input type="text" name="iroa" size=10 value="$cirom" class="text"> <font $fontm><b>【<a href="javascript:wopen('256palette/palette.php?form=mae&name=iroa')">じぶんいろ</a.>】</b></font></font> としましたが、スクリプトのエラーとウィンドウの下に出て動きません。 このCGI自体は説明どおりの階層に設置して動作を確認しております。 iromをiroaと変えたのは入室後も同じ名前のテキストボックスもあったからで、 この追加機能を入室後もつかえるようにしたいのですが。 宜しければお教えください、お願いします。M(_)m
636 名前:nobodyさん mailto:sage [05/02/15 17:26:48 ID:???] 256paletteは捨てて他のを探したほうがいいと思う
637 名前:zoooe mailto:sage [05/02/18 07:05:00 ID:???] pc5.2ch.net/test/read.cgi/php/1104624784/l50 から来ました。 【 CGI名 】カラーBBS Ver.2.02 【配布先URL】ttp://www.cgi-down.com/cgi/c-bbs.php 【設置サーバ】lolopop 【 質問内容 】“投稿者:[ あああ ] 投稿日:[ 2005年02月12日(土) 13時18分26秒 ]” の部分を、例えば“wrote by: あああ 02/17/2005(thu) 13:18:26 ” と英語に変えたいのですが、何度やっても500エラーになってしまします。 投稿者→wrote by だけでもエラーです。 どなたか解決法をご存知でしたらご指導いただけないでしょうか? # 曜日を日本語化 @week = ('日','月','火','水','木','金','土'); $wday = $week[$wday]; local($date) = "$year年$mon月$mday日($wday) $hour時$min分$sec秒"; return ($date); の部分を変えてもダメなのでしょうか?それともjcode.plの方をいじるんですか?
638 名前:zoooe mailto:sage [05/02/18 07:06:08 ID:???] 続き # 記事の表示 print "<hr size=0 color=$hr_color><BR><CENTER>\n"; for ($i = $end_page;$i<$end_list;$i++) { local($main,$re) = split(/★/,$DATE[$i]); chop($re); local($number,$date,$name,$title,$mail,$hpurl,$com,$tc,$kc) = split(/☆/,$main); $name =~ s/\0/☆/g; $title =~ s/\0/☆/g; $com =~ s/\0/☆/g; print "<FORM ACTION=\"$cgifile\" METHOD=\"post\">\n"; print "<TABLE WIDTH=$kizi_wid BORDER=0 bgcolor=$main_tccolor cellpadding=0 cellspacing=0><TR><TD>\n"; print "<TABLE WIDTH=100% BORDER=0>\n"; print "<TR><TD BGCOLOR=$title_bgcolor WIDTH=95%>\n"; print "<FONT COLOR=$tc[$tc] SIZE=4><B>$title</B></FONT> [$number]</TD>\n"; print "<TD BGCOLOR=$title_bgcolor WIDTH=5%><INPUT TYPE=\"submit\" VALUE=\"RES\"></TD></TR>\n"; print "<TR><TD WIDTH=100%>投稿者:[ <B>$name</B> ]\n"; if ($mail ne '') { print "<A HREF=\"mailto:$mail\"><IMG SRC=\"$mail_gif\" WIDTH=40 HEIGHT=15 ALT=\"$name\" BORDER=0></A>\n"; } if ($hpurl ne '') { print "<A HREF=\"$hpurl\"><IMG SRC=\"$home_gif\" WIDTH=40 HEIGHT=15 ALT=\"ホームページ\" BORDER=0></A>\n"; } print " 投稿日:[ $date ]</TD></TR>\n"; print "<INPUT TYPE=\"hidden\" NAME=\"ac\" VALUE=\"return\">\n"; print "<INPUT TYPE=\"hidden\" NAME=\"res\" VALUE=\"$number\">\n"; print "<INPUT TYPE=\"hidden\" NAME=\"title\" VALUE=\"$title\">\n"; print "<TR><TD><BLOCKQUOTE>\n"; print "<P><FONT COLOR=$kc[$kc]>$com</FONT></P>\n"; print "</BLOCKQUOTE></TD></TR>\n\n"; ここを英語に変えたらエラーになります。よろしくお願い致します。
639 名前:nobodyさん mailto:sage [05/02/18 09:03:36 ID:???] そこ変えただけでエラーになるのは有り得ない気がする。 perl -c のチェックは通る? それか、修正してセーブしたときに日本語文字コードがEUCからSJISに変わってるとかありそう。
640 名前:nobodyさん [05/02/19 02:37:51 ID:JY0g4Gmr] すいません、教えて下さい。 メールフォームで特定アドレスの受信拒否を行えるスクリプトを見つけたのですが、スクリプトを編集して禁止アドレスを登録しなければいけない為、随時更新する手間が大きく、 できれば別ファイルでそれの管理ができないものか、と悩んでおります。 元スクリプトは、KentWebさんのPostMail v2.41の改造バージョン、PostMail RDです。 ttp://planet.cside5.com/csw/free/mailrd.html @errmail = ('nomail@xxx.com','xxx@nomail.com'); (入力エラーとするメールアドレスです。シングルクォーテーションで囲みながらいくつでも指定することができます) この部分なのですが、別ファイル(csvやtxt等)で管理する方法ありませんでしょうか? タブや<>区切りでは、編集しにくいのでできればcsvがいいのですが・・・
641 名前:zoooe mailto:sage [05/02/19 03:43:57 ID:???] >>639 さん 大変ありがとうございました。 『そこ変えただけでエラーになるのは有り得ない気がする。』 と言うのを参考に、普通にメモ帳で編集してUPしたら、できました。 お礼が遅くなってしまってごめんなさい。
642 名前:nobodyさん [05/02/21 14:41:10 ID:xjZaU2mS] 【. CGI名 .】 shiory diary Ver2.0 【配布先URL】 ttp://www.area-s.com/ 【. 置き場所 .】 ttp://www.area-s.com/main/sdy.html 【 依頼期限 】 今週中 【. 依頼内容 】 デフォルトの表示幅が400pxになっているのですが、これを344pxの画像枠に縮めたいです。 tableで400となった箇所を344に変えてみましたが、どうしても日記の記事がはみ出てしまいます。 どうかよろしくお願いします。
643 名前:nobodyさん mailto:sage [05/02/21 15:20:55 ID:???] >>642 別に記事はみ出なかったけど? 使ってるブラウザが悪いんじゃないの?
644 名前:nobodyさん mailto:sage [05/02/21 15:22:29 ID:???] CGIの改造じゃなくてHTML(CSS?)の問題ってことで 板違いだな
645 名前:642 mailto:sage [05/02/21 17:09:59 ID:???] 何度か再アップロードしたらちゃんと表示されました なんだったんだ・・・ スレ汚しすみませんでした
646 名前:nobodyさん [05/02/24 10:56:33 ID:QVcBOm5y] はじめまして。宜しくお願いします。 自分で色々といじってたのですが、どうしても解決できないのでここで質問させてください。 (板違いでしたら指摘してください。) 【. CGI名 .】 SiteHistory ver1.01+3.00 【配布先URL】 ttp://www.lira.co.jp/t-room/re_cgi/index.html 【改造中データ】 ttp://cgi.2chan.net/up2/src/f70057.txt 【 依頼期限 】 2/25 (急ぎですみません) 【依頼内容】 項目を幾つか増やしてみました。 なぜか画像($image)を登録すると開催日($eventday)のデータがロストしてしまいます。 「sub edit1」「sub edit2」あたりを間違ってしまっていると思うのですが、原因を特定できません。 何か記述し忘れているのでしょうか? お願いします。
647 名前:646 [05/02/25 14:21:12 ID:tjf4sPQL] >>646 です。 あぷろだに載せていたデータがなくなってしまったので、再度アップしました。 ttp://up.isp.2ch.net/up/e4cf18f36469.zip 宜しくお願いします。
648 名前:nobodyさん [05/02/25 15:41:05 ID:QBQJZtMZ] KENTのe-PAD掲示板に荒らし対策としてなりすまし禁止ののトリップ機能か 携帯情報取得のBBQ機能追加って無理ですか? それか管理人のみのアイコン表示とか・・・