コメントスパム対策・理論編
過去にも何度か取り上げましたが、自分が手がけてきたいくつかのサイトでは、Perlスクリプトで実装されたWEB出席簿なるものを導入・拡張して使っています。この出席簿、全て人手で出欠管理するよりかはそれなりに便利なのですが、いかんせん元となったスクリプトが結構古いものなので、現状ではセキュリティ的に甘い面もいくつかあります。
今回は、以前設置したある出席簿の現管理者であるS君から、「最近、出席簿に変な登録が多くて困ってます。助けてください!」との連絡を受けました。さっそく、現状把握とその対策案を調査。典型的なコメントスパムで、英語圏の人が(おそらく)機械的に投稿しているみたいです。というわけで、以下の対策を考えました。
- captcha*1を設置する(→ captchaの例)
- 認証コードに漢字を入力させる(→ 403 Forbidden)
- 本文に全角を含まないコメントを弾く*2
いろいろ考えたのですが、個人的な好みと経験値を積む観点から、1の対策をしようと思います。
というわけで、captchaについてCAPTCHA - Wikipediaを参考にしながらちょっと調べてみることに。出席簿がPerlで実装されているので、今回はAuthen::Captchaを使ってみようと思います。
具体的な導入方法は、また後日。