コンタクトフォーム(Contact Form 7)へのスパム対策

image

このブログのコメント欄は、いくつかのプラグインを駆使して、ほぼスパムがなくなっている状態である。たまにあってもAkismetが排除してくれる。

ところが、最近問い合わせのコンタクトフォームからスパムを送ってくる輩が出てきた。

確か日本語が書かれていないと拒否するように設定してあったはずだけどな……と思いつつスパムを見てみると、なんと日本語が書かれていた。

どうもスパム業者も進化してきてるようで、「日本語が入っていないと拒否しますよ」という設定は認知済みで、これをすり抜けて来るようになったのだ。

ここと同じように日本語がないとコメントできないようにしているブログが多くなったから対策してきたのだろうと推測するが、それにしてもいろいろ考えてくるなぁ。

書かれている日本語は適当なものから機械翻訳を通したようなもの、さらにどこかからパクッてきたようなものまでいろいろ。

さて、向こうが対策をしてきたのなら、またこちらも対策をしなければ……ということで、コンタクトフォームの設定を見直すことにした。

思えば、あまり細かく見たことがない気がする。最初に設置した時ぐらいかも。

中で効果がありそうだなと思ったのが、「確認ボタン」というかチェックボックスの導入。コメントを入れたあと、確認ボタンを押さないと送信できない(コメントを書き込めない)というもの。

2015-04-022

設定は簡単。

・メニュー → お問い合わせ → コンタクトフォームへ移動
・タイトルあたりにマウスを持って行くと現れる編集をクリック
・プルダウンのタグの作成→承諾の確認をクリック
・現れたショートコードを左のフォームに埋め込んで保存すればOK

確認してみると、保存のチェックボックスが現れた。

2015-04-024

問い合わせをしてくれる方には面倒をかけてしまうが、この対策以来コンタクトフォームに来るスパムは消えた。

これでしばらくは大丈夫だろう。しかし、敵もまた新たな対策をこうじてくるんだろうな。

[追記]
しまった。メモが2つあって書き忘れてたことがあった。

Akismet によるスパムフィルタリング | Contact Form 7 [日本語]

次に、以下の Akismet 関連オプションをフォームの適切な項目に追加します。akismet:author送信者の名前を入力する項目にこのオプションを追加する。例: [text* your-name akismet:author]akismet:author_email送信者のメールアドレスを入力する項目にこのオプションを追加する。例: [email* your-email akismet:author_email]akismet:author_url送信者の URL を入力する項目にこのオプションを追加する。例: [text your-url akismet:author_url]

上記のリンク先を見て、コンタクトフォームの項目を2つ書き換えていたのだった。

◆元のフォーム

お名前 (必須)
[text* your-name]

メールアドレス (必須)
[email* your-email]

題名
[text your-subject]

メッセージ本文
[textarea your-message]

[submit “送信”]

◆変更後のフォーム

お名前 (必須)
[text* your-name akismet:author]

メールアドレス (必須)
[email* your-email akismet:author_email]

題名
[text your-subject]

メッセージ本文
[textarea your-message]

[submit “送信”]

結局2つ変更した。[/追記]

コメント

#userlocal kokokara #userlocal kokomade