CAPTCHA を使わない Contact Form 7 のスパム対策

Contact Form 7 でのスパム対策のメモです。CAPTCHA を使いたくなかったので WordPress に標準で入っているスパムフィルタリング Akismet と、もう一つ「Contact Form 7 Honeypot」というプラグインを利用します。

Akismet によるスパムフィルタリング

Contact Form 7 の設定で

akismet:author_email

などのオプションを追加していきます。

名前
[text* your-name akismet:author]
メールアドレス
[email* your-email akismet:author_email]
お問い合せ内容
[textarea* your-message akismet:author_url]

Akismet がスパム判定するとメールの送信をキャンセルして送信に失敗したメッセージが表示されます。

機能しているかテストするには、送信者の名前として「viagra-test-123」を入力して送信するとテストできるようです。
詳しくは、公式サイトの Akismet によるスパムフィルタリング | Contact Form 7 にあります。

Contact Form 7 Honeypot プラグインを使った対策

フィルタリングの仕組み

Contact Form 7 Honeypot のスパムフィルタリングの仕組みは、スパムBOTが全てのフィールドに文字を入力しようとするのを利用しています。非表示の <input> フィールドを生成して、人は入力できないのに BOT は入力してしまう事でフィルタリングします。

ダウンロード

ダウンロードは http://wordpress.org/extend/plugins/contact-form-7-honeypot/ から
プラグインサイト

設定

Honeypotフォーム

設定は Contact Form 7 の設定画面で「タグの作成」から「Honeypot」を選択します。
「このコードをコピーして、左のフォーム内にペーストしてください」のメッセージがでるので、フォームにコピー&ペーストして完了です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする