2006年07月25日

掲示板SPAM戦記ふたたび

すっげー久しぶりにここ書きます、Jackです。

今日は会社が休みなのですが、昼過ぎに起きて掲示板見たら、SPAMの大量爆撃くらって一ページ目から人間の書き込みが完全に追い出されている事態に遭遇しました。

さすがにちょっと頭に来たので、久しぶりに対策取りました。

今回採用したのは
「入力してはいけないフィールドを用意する」
という一見よくわかんない方法です。

掲示板を開くと、入力フォームの下のほうに「ここは入力しないでください」というテキストフィールドがあります。ここに入力されると投稿を受け付けません。

そして、ソースを見るとわかりますが、このフィールドの名前が「mail」になってるんですね。動的にフォームを解析したSPAMエンジン(っていうのか?)は、ここをメールアドレス入力欄だと解釈して値を設定するわけです。本物のメールアドレス入力欄はぐちゃぐちゃな文字列で名前つけてます。

たぶん、こいつでまた当分は平和になれます。

これで実に4通りものチェック処理が追加されてしまいました

A.パラメータが不正なもの
うちの掲示板の元になったスクリプトの入力パラメータを固定的に投げてくるものに対応する。

B.大量のURLを含むもの
6個以上に設定、数百以上URLを含んだ書き込みがよくあるので、これがないと掲示板が使い物にならなかった。

C.タイトルなし、または「None」の禁止
たまたま多かったタイプにこういう書き込みがあったからで、これが一番その場しのぎな対処だったかも、けっこう効果はあったけど。

D.入力禁止フィールド(偽メール入力欄)の追加
今回やった奴です、本当はこのチェックだけでABCのほとんど全てをカバーできるはずですが、なんとなくタイプ別にログとっているので、他のチェックも残して、このチェックを一番最後に回しています。

ちなみに、今さっきDの対策を行ってから、この記事を書いている間にもうタイプA、B、Dそれぞれに一件ずつ引っかかっています。

・・・これじゃ、掲示板なんてもう、まともに使えないんじゃないだろうか・・・最近はメールも、以前のようにメールアドレス公開するとまともに使えない(週に数回だけ家に帰る私は帰るたびに数百通のSPAMを受信するハメになる、いくらフィルタがあっても苦痛だ)し、なんていうか、ネットワークはSPAMに押し潰されつつあるような、そんな気がしてならない。

まあ、もうしばらくたったらログ集計してそれぞれの件数でも数えてみたりするかー。
posted by Jack at 16:09| Comment(4) | TrackBack(0) | Web系 | 更新情報をチェックする
この記事へのコメント
ホント久しぶり(笑)

掲示板、書き込まないけど、『入力しちゃいけないよINPUT』のチェックをしてみた(爆)
ただ、通常のお客さんに、見せなきゃいけないのがちょっと腹がたつね。

styleのvisibilityをhiddenにしたら、もしかしてIEの人は見ないですむカモとか思ったりした。
思いつきだけどね。
hiddenでもvalueにデータはJavaScriptでなら入れられたハズだから、どうかな?って。

役に立ちそうも無い話題で長文失礼!
・・・いつもだけどね(汗)
Posted by ありす at 2006年07月25日 18:51
なるほど、styleまでは確かにチェックしないだろうなぁ・・・

ふむ、visibilityはFirefoxでもきちんと認識しますね。というわけで、ひとまずあなたの提案通りにvisibilityを設定してみよう。

恐いのは、こういうやり方してる奴がそれなりにいたりすると、styleまでチェックする奴が出てきそうなことだが・・・とりあえず、ログと照らし合わせて効果を見てみるよ、ありがとう。

ちなみに、この記事書いてから今までにも全部で10発くらい書き込み来てるよ・・・これが人間だったら大盛況なのに(苦笑)
Posted by Jack at 2006年07月25日 21:54
あ、採用されてる♪
だって、お客さん的にはいらないものだもんね。
でも、こんな力技っぽいのしてる人、少ないんじゃない? < それなりにいたり
ってか、目で見えないから気付きにくそう。
でも、採用、ありがとう。なんか嬉しい(笑)

枯れ木にもならないのが、腹たつよね。 < これが人間だったら
がむばれぇ~。
Posted by ありす at 2006年07月26日 09:21
それがそうでもない、何せこの対策のアイディア自体他のサイトで見かけたものなんです。ちょっとはアレンジしましたが。

例えば、画像で表示した文字列を入力させるとか、そういうインターフェースはけっこうあるしね。
このやり方は、無駄なものが見えても無駄な操作がない分そういうのよりマシなんで、それらと比べて手軽で有効なソリューションと言えます。誰かがスクリプトの形で配布したら、それなり広まるかもしれません。

ただ、CSSは色々な形で設定できるので、解析するにはきちんとHTMLを解釈しないといけない(inputタグだけなら文字列だけなんとなく追いかけても大丈夫)から、よほど必要に駆られなければそこまで見ないでしょう。

が、ログを見ているがまだこれで効くのか効かないのか、まだデータが取れてないので確証は持てない状況、まあ、多分大丈夫だろうけどねー。
Posted by Jack at 2006年07月26日 12:34
コメントを書く
コチラをクリックしてください

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。