いまのところ、ページを表示してから書き込みボタンが押されるまでの時間が短いものを弾く「10秒ルール」と、NGワードのブラックリスト方式のふたつで対抗する予定です。あと、書き込みには必ず確認画面を挟むようにします。
しかしこれでは、相手が10秒ルールを学習していた上での初回の書き込みを弾くことができません。そこで、「書き込みボタンを10個用意して、うち正しく書き込めるのは1つだけ」という方法も考えました。9つ用意されたダミーの書き込みボタンをすべてスタイルシートで隠すことによって、相手が人間ならちゃんと正しい書き込みボタンを押せるというわけです。もちろん正しいボタンの位置は、動的に生成されるスタイルシートと共に毎回ランダムで変わります。
HTMLにダミー要素が加わるのがちと美しくない気もしますが、書き込みの確認画面だけに実装するなら、許せる範囲でしょう。また、スタイルシートを読まないブラウザでアクセスされた場合は、断りのメッセージと共に、管理人の承認後に書き込みが反映される書き込みボタンを11個目として表示させます。
とはいえ、がんばるスパマーがスタイルシートを解析するようになれば、この方法もうまくいかなくなります。根本からのスパム対策はふた通りあって、ひとつは、スパマーが手動で対応しなきゃならないような対策を、自動でいくつでも生成できるしくみ、「自動いたちごっこシステム」。もうひとつは、スパマーがAに対応している間は必然的にBには対応できなくなるしくみを使って、AとBが自動で切り替わっていく「あちら立てればこちらが立たずシステム」。しかし、いいアイディアが浮かびません。