ホーム > 今日の基礎体力 > 掲示板スパムを5秒でノックアウト

掲示板スパムを5秒でノックアウト

[`evernote` not found]
[`grow` not found]
[`livedoor` not found]
[`yahoo` not found]
Delicious にシェア
このエントリーをはてなブックマークに追加

昨夜 Spamp の Bata5 をアップしたばかりだけど、気づいてしまったのだ。

掲示板(コメント)スパムボットには
フォームのリクエストから投稿があるまで
大抵1~3秒、長いものでも4秒までという投稿パターンがある。

これを応用して Spamp の セッション判定では
例えセッションが成立してても、あらかじめ設定した「待ち時間」を
経過しない投稿はスパムと判定しているんだけど、
掲示板スパムボットがCookieを送受することを逆手にとって
Cookieにも「待ち時間」を適用できるってことに気づいてしまったのだ。

フォームのリクエスト時にCookie送信。
この時 Cookieには タイムスタンプ を記録。

投稿のあった際、Cookie のタイムスタンプと現在時刻を比較し
待ち時間が経過してなければスパムと判定。

5秒あればスパムをフィルタリングできてしまいます。
これならSpampを使わずともいろんな掲示板に応用できる。
PHPに限らないし、改造もメチャ簡単。
フォームがあるものなら掲示板スパム・コメントスパムに限らずいけます。

SpampではCookieの整合性チェックもやってるので
もしタイムスタンプが改ざんされてもスパムと判定出来ます。
Cookieがなければスルーしてるけど
次はセッションの方でスパムを判定できます。

取り急ぎ、この判定コードを4行書き足してっと、アップし直しました。
Cookie、Javascript、Sessionに依存しないのが特徴。
掲示板スパム対策 ライブラリ Spamp Bata 5.1

コメント:3

ゆうじ 2010-03-27 土

[テスト] Spamp以外のフィルターは全て外して試験中です。

ゆうじ 2010-04-01 木

3月に入ってからスパムがぜん減ったよね。
フィルターのおかげだったら嬉しいんだけど
Waledacボットネットが影響してんのかな。
http://japan.cnet.com/news/sec/story/0,2000056024,20410622,00.htm

ゆうじ 2010-04-16 金

なめこさんへ。
せっかくコメント頂いたのにすみませんでした。
スパムフィルタの待ち時間はパスしてましたが
Cookieレベルでアウトになっていました。
まだ検証の必要があるようです。
画像表示OFFとかされてるでしょうか。
もしご覧頂くことがあれば、またコメント投げて頂ければ幸いです。

コメントフォーム
入力した情報を記憶する
accessLogging

トラックバック:0

この記事のトラックバック URL
http://beatnik.jp/blog/archives/389/trackback
トラックバックの送信元リスト
掲示板スパムを5秒でノックアウト - PHPで翻訳三昧 より

ホーム > 今日の基礎体力 > 掲示板スパムを5秒でノックアウト

Ad
Apache
MySQL
PHP
お気に入り
ん。。。。。。広告
アーカイブ
Ad

ページの上部に戻る