ミヤヒロサンバII 〜宮下ヒロシ対策2 YY-BOARD編〜
つまらんタイトルでスマン。m(_ _)m
更に検索すると、宮下ヒロシが荒らしている掲示板はJOYFUL NOTEだけではないようだ。
単に検索からの印象だけれど、YY-BOARDというCGI掲示板でもかなりの被害がある。
これらは両方ともKENTさんが作った掲示板CGIスクリプトで、同じ人が作ったからこそ変数名も同じなのですな。
前回と同じパターンで対策してみよう。私はYY-BOARD使ってないが。(^O^)
ただ、前回挙げた対策↓
対策その1:
「同一IPアドレスからの連続投稿時間(秒数)」を長く取る。対策その2:
cgiファイル名を変える。対策その3:
フォームから送られる変数を増やす。対策その4:
ヒロシに謝って許してもらう。
のうち、一番効果があると思われる対策その4:ヒロシに謝って許してもらう。はおいといて(^O^)、対策その1:「同一IPアドレスからの連続投稿時間(秒数)」を長く取る。というのは本質的解決ではないので、対策その2:cgiファイル名を変える。、対策その3:フォームから送られる変数を増やす。についてだけね。
※と書きつつ改めて強調しておくけれど、私はCGIのこともPERLのこともじぇ〜〜んじぇんわかってません。そのへん割り引いて夜露死苦。間違いがあったら指摘していただければありがたし。
対策その2:
cgiファイル名を変える。
YY-BOARDはJOYFUL NOTEとは違って、表示用?CGI(yybbs.cgi)と投稿用CGI(yyregi.cgi)が別になっている。お客さんはyybbs.cgiにアクセスし、投稿時に(投稿者はもちろん意識しないけど)yyregi.cgiに変数を渡して投稿をする、と。
てことはロボットはyybbs.cgiではなく、yyregi.cgiに直接アクセスしてるってことだろう。
ならCGIファイルの名前を変更すること自体はそれほど困らないよね。
JOYFUL NOTEだと掲示板CGI(joyful.cgi)自体が投稿処理もまかなってたので、このファイル名を変えちゃうと掲示板のURL自体を変えなくちゃいけなる不便があったけど、YY-BOARDの場合はあくまで内部処理上の変更だから、掲示板アドレスにはなんの影響もなくてすむ。
変更点は以下の通り。変数名は具体的に書いて対策されちゃうとイヤなので、昨日と同じくあえて伏せ字で。
※行番号は「YY-BOARD v5.33 - 2004/09/01」でのもの。バージョンが違う場合は若干行番号が変わってくるかも。でも同じようなところを見つけてやればいいと思う。
ファイル名を変更
yyregi.cgi
↓
▲▲▲▲.cgi
yyini.cgi 内の記述を変更
| 136:# 更新ファイルURL 137:$regist = './yyregi.cgi'; ↓ 136:# 更新ファイルURL 137:$regist = './▲▲▲▲.cgi'; |
もちろん「▲▲▲▲.cgi」は同じ名前ですよん。自分で好きな名前考えて、「yyregi.cgi」以外の名前をつけませう。
もちろんこのファイルは「yyregi.cgi」と同じく[705]属性で。
対策その3:
フォームから送られる変数を増やす
ヒロシはネット上にあるyyregi.cgiに片っ端から直接アクセスして変数を渡しているようだから、投稿に必要な変数を増やして、その変数がない投稿(つまり投稿フォームを経由しない投稿)は拒否しちゃいましょう、というもの。
変更点は以下の通り。これも伏せ字で。このまま使うんじゃなく(^^;、元のと違うのを適当に考えて。
※行番号は「YY-BOARD v5.33 - 2004/09/01」でのもの。バージョンが違う場合は若干行番号が変わってくるかも。でも同じようなところを見つけてやれば大丈夫と思う。
yyini.cgi 内に4行挿入
293:<tr> 294: <td><b>参照先</b></td> 295: <td><input type=text size=52 name=url value="$url" class=f></td> 296:</tr> 297:EOM ↓ 293:<tr> 294: <td><b>参照先</b></td> 295: <td><input type=text size=52 name=url value="$url" class=f></td> 296:</tr> 297:<tr> 298: <td nowrap></td> 299: <td><input type="hidden" name="▲▼■●" value="★★★"></td> 300:</tr> 301:EOM |
(まあ別に新たに行を作る必要なんてないけどね)
yyregi.cgi 内に1行挿入
| 136: if ($in{'name'} eq "") { &error("名前が入力されていません"); } 137: if ($in{'comment'} eq "") { &error("コメントが入力されていません"); } ↓ 136: if ($in{'name'} eq "") { &error("名前が入力されていません"); } 137: if ($in{'▲▼■●'} eq "") { &error("適当なエラーメッセージを"); } 138: if ($in{'comment'} eq "") { &error("コメントが入力されていません"); } |
▲▼■●(変数名)は2箇所とも同じものにする。
★★★(変数の値)は何を入れてもいい。チェックしてるのは変数の中身があるかどうかだけなので。
最初に書いたように、私はYY-BOARD使ってないので動作確認してませんッ! (キッパリ)
あれれ?
わざわざ↑そんなこと(変数を増やす)しなくても、対策その5:変数名を変える、それもコメントとかのを1つ変えるだけでいいのかな????
そしたら、キョーレツに簡単やな。(^^;
……それは次回以降にまわそう。
トラックバック(0)
このブログ記事を参照しているブログ一覧: ミヤヒロサンバII 〜宮下ヒロシ対策2 YY-BOARD編〜
このブログ記事に対するトラックバックURL: http://taizo3.net/cgi-bin/mt/mt-tb.cgi/4854
