「Contact Form 7」を使って、ブログのお問合せフォームを設置しています。
スパム対策は「Akismet Anti-spam」で成立しているように見えます。
WordPress
コメントも問合せフォームも
ブラックリストでスパムを除外する
他のサイトでは、当ブログと同じ構成では、大量のスパムに対応できない事象が発生したのでした。
単に学習させていなかっただけのようにも見えましたが。。
WordPressにブラックリストとしてキーワードを設定することで、即効性のある対策が可能です。
Contact Form 7 のスパム対策
フォームの作り方でもスパム対策になるという話はあります。
チェックボックスを設置するという説明が多いですが、そもそもスパムを送ってくるような輩に対して、そのような甘いものは力不足でしょう。(もちろんハードルは上がるので、弱いですが対策にはなると思います。)
プラグインや専用ツールで対策したほうが、ホワイトなユーザーへの負担が小さく、管理する側も負担が小さいと思います。
Contact Form 7 はいろいろと対応していてありがたいですね。
Akismet Anti-spam: Spam Protection
プラグインです。
スパムコメントを防いでくれます。月1,000件くらいのブロック実績らしいです。ブロックされているので本当かどうか確認する術がないわけですが。。
当サイトでもこれくらいですから、もっとアクセス数があるようなサイトだと、もっと凄いのでしょう。
商用でなければ無料で利用できます。
WordPressの標準プラグインと言っても過言ではないようなものですので、ほとんどの場合は最初から実装されているのではないでしょうか。
アカウント登録して有効化しておきましょう。
個人利用なら無料です。商用利用は有料で、年9万円くらいです。(管理工数を考慮したら突拍子もない価格ではなさそうにも感じます。)
送信された内容をスパムだと指定すると、次回以降はスパムとして隔離してくれます。
Google reCAPTCHA(V3)
Googleが提供するツールです。無料です。
コメントやフォームの送信者が人間かロボットかを判別してくれます。(ロボットだったら先に進めず、送信できません。)
ときどき、この絵に含まれる信号機をクリックしてくださいのようなポップアップが表示されることがあると思います。あれです。
当ブログではV3を使っているので、通常は画像確認画面になりません。
ユーザーの挙動で人間かロボットかを判別しているのです。すごいですね。
WordPressのスパム対策
今回のお話の中心部です。
ときには、AkismetやreCAPTCHAを抜いてくるスパムがあります。
いたちごっこの世界ですからね。
上には上がいるという可能性もあります。
そのような時には、キーワードをブラックリストに登録して、確実にブロックさせることが可能です。WordPressの標準機能です。
内容に含まれるキーワード、投稿者名、URL、メールアドレス、IP アドレス、ブラウザーのユーザーエージェントに対して、ORでキーワード判定します。部分一致です。
キーワードは改行区切りで設定します。
「変更を保存」ボタンの押下をお忘れなく。
この方法だと、キーワードを設定した時点から、確実かつ即時での対応になります。
AkismetやreCAPTCHAの学習を待っていられないときには、こちらの方法がオススメです。
デメリットも認識しておく
ホワイトなユーザーもブロックされる可能性がゼロではありません。
念のため、ブロックされている分も確認はしておきましょう。
特にブラックリストで止める場合には、部分一致で引っ掛けることを認識しておきましょう。
「hoge」を設定した場合、「hoge」だけでなく、「hogehoge」も「xhogex」もスパムとしてブロックの対象です。
設定するキーワード選びは慎重に。
ドメイン指定やIPレンジ指定もできて便利ということもあるのですが。
しっかり仕様を理解しておかないと、大事なコメントやメッセージを見逃します。
ご意見やご感想などお聞かせください! コメント機能です。