コンピュータ関連の備忘録

のはずだったのですが...なぜか最近はスパム対策にはまってます(^0^)

コメントスパム対策を強化する..(^^;)

このIPスパムフィルターは国内国外からのトラックバックスパム攻撃、及び国外からのコメントスパム攻撃に対してはおそらく日本でこれよりも強力なスパムフィルターは無いと思うのですが、このフィルタにも一つだけ弱み(というか、元々そういうことを考えてない部分(^^;)が存在します.....
このフィルターは通信経路から、スパムか正常な通信かを判断しようという考えでできてるんですが、国内からのプログラムを使ったコメントスパム攻撃に対してはとても弱いんです。

弱いどころか....国内からのコメント書き込みについてはこのフィルタは実質何も機能しないようにできております(^^;) そういう仕様なんです。

見てますと、現在、国内から発信される日本語のコメントスパム攻撃はまだ本格化してないようですので今のところ問題はないのですが、いずれはそういう時代も来るでしょうから、いざというときのために何らかの対応をしておいた方がGOODでしょう(^-^)

ちなみに私のこのブログは、将来のコメントスパム攻撃(未だにトラックバックも併せて数件しかない)に備え、コメント投稿にいくつか仕掛けを作ってあるのですが....(自分だけずるいといわないでください(^^;)

これについてはいろいろ思うことがあるので、ちょっと書いてみます。

基本的に思うことは...現在ある対策で有効なのは、歪んだ文字がグラフィックで表示されてそれを手入力させるタイプだけじゃないかということです。

日本語チェックについては、そのうち日本語スパムだらけになったら何の役にも立たなくなるだろうし、スパマーもそれなりに研究してるからベイズ理論をはじめとする文面チェックなど何の役にも立たななくなると思う。

いろいろ考えてみたけど、スパムロボットプログラムで突破できないであろうシステムは最終的には「入力を人間が手動でする」という部分を織り込まないと無理だという風に思うからです。

でも、これには条件があります(^^;) みんなが同じシステムを使うとしたらの話です。
市販されたり、公開されたりしたら、それを回避するプログラムを書くのは簡単です。みんなが使ってれば、一個突破するプログラム書けばそれなりに効果があるのでスパマーも一生懸命作るでしょう(^^;)

といことで、私が個人的にとってる、コメントスパム対策は、おそらく世界で私しかやってないと思うんです。ネットでも見たことないし(^^;)

ということは、スパマー君も私のサイトのようなマイナーなところを攻撃するためだけにプログラムを書くような酔狂なまねは絶対にしないでしょう。

ということは...私のサイトの「コメントスパム対策は世界最強」だといえるんじゃないかと思ったりするのです。

もっとも、手作業でこつこつ書き込まれる、個人の嫌がらせスパムに対抗する手段をプログラム的に講じるのはほぼ不可能だと思うので、そういうのは勝手にのぞかせていただきます。

では、貴方のサイトを将来出てくるだろう日本のスパマーから守る方法ですが、、

1.あまり人がやってない方法をとる。できれば貴方だけがベスト!
 2.同じ方法をとるなら、プログラムで推測不可能な方法をとる!

この2点だと思うのです。

どうやらコメント書き込みロボットは最初はサイト内の記事を見に来るような感じです。そこで文面をチェック及び解析して、トラックバックなりコメントなりを書き込んできます。

問題は解析する部分です。ちゃんと解析すれば、「コメント投稿プログラムのプログラム名を変える」とか、「hidden属性の変数を仕込む」とか、「投稿確認チェックボタンをチェックしてもらう」とかいうのは何の役にも立たないことがわかって頂けるのではないかと思います。見たら解りますから..(^^;)

ということでプログラムがすることを逆手にとれば...いいのではないかと思う。

そこで提案するのは、この際、フォームのコントロールの名前をバラバラにしてしまおう作戦です。

なぜMTはコメントスパムの攻撃を受けやすいのか?
それはコントロールの名前が世界共通だからです(^^;)
世界的に文面を入れるコントロールの名前は「text」ですし、名前を入れるところは「author」ですから、スパムロボット作る方も楽でいいわけです。
で、フォームの中に本来はないコントロール名を見つけたらそれはユーザーが仕込んだ後付コントロールなので、それに対応するValue値を自動で一緒に返すようにすればハック完了となるわけです。

ということで、この部分を自分独自仕様にしてしまう(コントロール名を変える)と結構スパマーは混乱するんじゃないかと思うのです。

変更するコントロール名は各自バラバラで決めるとなお効果的、またプログラム的にはコントロール名を日本語で表記しても動くと思うので、それこそ

<textarea id="comment-text" name="文面じゃ〜" rows="10" cols="30"></textarea>

のようにしてしまっても大丈夫っぽいです。
ダミーで元々あるコントロールの名前を仕込んでおくとなお効果的(^^;)

そっちの名前でデータを送ってきたらスパム認定もしやすいし(^-^)

もちろん、テンプレートとプログラムコードを両方さわらないといけないんですが、ちょこっと変えるだけで何とかなります〜(^^;) そのうちちゃんとまとめます(^0^)

ですが、これもみんながやり出すとそれなりに対策はとれますので、、、世界で30人ぐらいしかしてなければ...おそらく未来永劫、スパマーに突破されることは無いとおもいます。

ちなみに私のとってる方法は....もっと単純です(^^;)手法的には似てはいますけど...(^-^)

ですが、おそらく同じ方法をとってる人は世界中探してもいないと思う。単純すぎ&アホらしすぎてだれもしてない(^^;)

そういう意味では「世界最強のコメントスパム対策」だといってもいいと思います(^0^)/~


追伸:
このページのソース(投稿のところです!)を見れば、明らかにここと解るところがありますけど...それはダミーです。このサイトでとってる対策の本体ではありません(^-^)
IPスパムフィルター | comments (1) | trackbacks (0)

comments

たけっぴろ! | 2006/02/12 02:51
追伸のコメントです...(^^;)

他でも書きましたが..世界最強のコメントスパム対策だったはずのところのものが...スパムに晒され続けて数ヶ月の掲示板に仕込んでみたところ...一部のスパムに突破されちゃいました(^^;)

しかしただでは起きない私としては...新たに思いついた方法を仕込んで様子を見ることに...(^^;)
しかし、これは結構他で見る方法なんだけど、JavaScroptで変数を生成する部分がちょっと他と違うので...簡単には解析はできないと読んでるんですが、今度こそ「世界最強のコメントスパム対策」になってくれると嬉しいのですが(^^;)

comment form


海外在住の方はメールアドレス欄に「海外在住」とご記入願います(必須) (~0~)

trackback url

http://www.j-pca.com/blog/sb.cgi/41

trackback

エスアイテック