昨日取り付けたばかりのコメントシステムだが、最初のコメントは案の定、スパムコメントでした。しかも何と早いことか。昨日の今日で、バ○アグラがなんたらとか言う英語のスパムが書き込まれてしまいました。検索エンジンのスパイダーと違って、UA 偽装してたりするだろうから、本当に迷惑な話だと思います。
こういったスパム対策はユーザーの利便性を損ねないと完全に解決することができないだけに、いつも悩む点であり、ウェブで何かを運営する際に萎えてしまう点でもあります。この先、画像認証を導入するのか、承認制を導入するのか、ロボット判定を頑張るのか、何れにしても楽しくない作業が待っています。
よく使われる画像認証は、本来と無関係な作業をユーザーに強いてしまう、障害を持った人を排除してしまう(聴覚を使った認証もあるが)、などあまり好きな解決方法ではないです。画像認証以外の人間らしさの判定も幾つかあげてみます。
- あり得ない速度での投稿(フォームの提供から投稿ボタンを押されるまでの時間が余りにも短いとき)
- ページ内の画像などが要求されていない(フォーム狙いでクロールされているなら画像は要求しないだろう→見えない画像タグに投稿トリガーを仕込んでおく)
- JavaScript でキーイベントを見る(フォームに実際入力されたか判断できそう)
- JavaScript で確認ダイアログを入れる
- submit ボタンをやめて、通常ボタンと JavaScript で投稿させる
まあ、上にあげたようなことは、昔あるプロジェクトで散々やりましたが、結局どれも突破されてしまうんですよね。画像認証にしても OCR と組み合わせて突破するプログラムもあるし、JavaScript で色々工夫しても実際のブラウザを自動運転するようなやつが相手だと意味が無いです。