- 2010-03-24 水 19:59:36
- 今日の基礎体力
昨夜 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とかされてるでしょうか。
もしご覧頂くことがあれば、またコメント投げて頂ければ幸いです。
トラックバック:0
- この記事のトラックバック URL
- http://beatnik.jp/blog/archives/389/trackback
- トラックバックの送信元リスト
- 掲示板スパムを5秒でノックアウト - PHPで翻訳三昧 より