消極的なCAPTCHA

「人間が入力したかどうか検査」であるCAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)も最近は珍しくなくなり、それにつれて、CAPTCHA対応スパムも出てきた。CouchDbのデモサイトでもこれに困っていたらしいが、Negative-CAPTCHAと呼ばれるしゃれたアイデアでアイデアでスパムを撃退しているようだ(Sofrとかの掲示板がそれ)。

原理は難しくはない。フォーム内にユーザーには見えない隠し項目(但し、Type=Hiddenではない)を設定し、nameをロボットが間違えやすい"email"のような名称にするだけ。
<input type="text" name="email" style="display:none">
これでアホなロボットは人間サマには見えないemail欄にテキトーなメールアドレスを埋め込んで投稿してくるので、CGI等のサーバープログラム側でemail欄に何か入っていれば捨てる、という処理をすればよいとか。
Damien Katz: Negative CAPTCHA:
When a human user fills out the form, the hidden field will always be blank. But when filled out by a spam bot, it doesn't know the field is supposed to be hidden, so it adds a bogus email address and submits the form. When the back-end code sees the email in the posting, it knows the email was filled in by a bot and ignores the whole submission.
ふーん、へぇー、ほぉー、っていう感じです。

Via Damien Katz: Negative CAPTCHA