ホーム > アーカイブ > 2009年3月28日のアーカイブ
2009年3月28日のアーカイブ
hidden + IP でスパム投稿対策
- 2009-03-28 土 01:53:13
- 今日の基礎体力
スパム投稿だけを別ログに取っていたら共通点が見えてきました。
しかも2パターンに絞られます。これは、うちに来てる
AHOな自動投稿プログラムは2種類しかないってことです。
スパム投稿パターン1 AHoo
特定のIPから、不定期に、本文が異なる内容を投稿。
フォームは集計以前に得たようで、リクエストされた痕跡は無い。
●クッキー無し
●UAがどれも同じ
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.3 (build 01218))
●$_POSTのうち、パスワードとワンタイムチケットはまったく同じ。
その他の内容はバラバラ。
スパム投稿パターン1’ AHoo’
不特定のIPからの投稿である以外は、スパム投稿パターン1と同じ。
パスワードとワンタイムチケットがスパム投稿パターンAと同じなので
ネタ元が同じ。
スパム投稿パターン2 AHoo+C
先ずフォームのリクエストがあって、その2、3秒後に初投稿。
その後短い間隔(5~20秒おき)で、国が異なる別ホストより、
POSTとCOOKIEが全て同じ内容の投稿が1~3回程度続く。
フォームを収集したIPと初投稿のIPは同じ。
●クッキー有り
●UAがまたく同じ
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
【考え中】
AHoo と AHoo’ は、
一度収集したフォームをず~っと使いまわしのワンパターン。
hidden でフォームに埋め込んだ値まで一緒なので
この値の整合性をチェックすれば完全にハネることが出来ます。
AHoo の方はIPチェックで完全にシャットアウトでもいいくらい。
これに比べると AHoo+C は、
フォームを収集しながらリアルタイムで投稿してきます。
クッキーも備えブラウザに見せかけている巧妙なヤツです。
2度目以降投稿については、AHoo同様
hidden でフォームに埋め込んだ値の整合性をチェックすれば
完全にハネることができます。
【対策】
フォームの出力の際、
リモートホストのIPアドレス を hidden で埋め込んでおく。
投稿された際、
$_POSTのIPと$_SERVER[‘REMOTE_ADDR’]を比較。
一致しなければスパムボットと判定。
ただし、IPアドレスをそのまま埋めると、
プログラムでIPの書き換えを可能にしてしまうので
複合可能な方法で暗号化した値をにするなどの工夫が必要です。
あわせて、似たようなダミーの値をフォームに複数個
埋めておけば、プログラムでの解析をさらに困難にできます。
これなら COOKIE も SESSION も関係なくひろ~く応用できます。
もちろん、AHoo+C の初投稿はスルーなので
IPや投稿内容をチェックしてハネるあわせ技は必須です。
hidden で埋め込む値を IPアドレス にしたのは、
収集したフォームこそが投稿業者の資本であり、
フォーム収集元が明らかになることを一番嫌うと考えたからです。
フォーム収集時のIPでなければ投稿できないけど、
そのIPで投稿すると肝心なフォーム収集元が絞り込まれる。
収集しても使えないフォーム。
業者にしてみればホント嫌なことでしょう。
これがこの対策の一番の狙い。
スパムをハネるだけでなく投稿そのものを減らす対策になります。
この対策を施している旨をサイトに書いとくとさらにいいかも。
ホーム > アーカイブ > 2009年3月28日のアーカイブ
- Ad
- Apache
- MySQL
- PHP
- お気に入り
- ん。。。。。。広告
- アーカイブ
-
- 2018年3月 (2)
- 2017年4月 (1)
- 2015年12月 (1)
- 2015年9月 (1)
- 2014年8月 (1)
- 2013年12月 (1)
- 2013年6月 (1)
- 2013年5月 (1)
- 2012年7月 (2)
- 2012年6月 (1)
- 2012年4月 (1)
- 2012年3月 (2)
- 2011年8月 (1)
- 2011年7月 (1)
- 2010年7月 (1)
- 2010年6月 (2)
- 2010年5月 (1)
- 2010年4月 (3)
- 2010年3月 (2)
- 2010年2月 (1)
- 2010年1月 (1)
- 2009年11月 (1)
- 2009年5月 (3)
- 2009年4月 (5)
- 2009年3月 (8)
- 2009年2月 (2)
- 2008年11月 (1)
- 2008年7月 (1)
- 2008年5月 (3)
- 2008年4月 (4)
- 2008年3月 (1)
- 2007年12月 (2)
- 2007年8月 (1)
- 2007年7月 (4)
- 2007年6月 (4)
- 2007年5月 (2)
- Ad