問い合わせフォームへのスパム対策として導入したreCAPTCHA v3
運営中のブログに設置しているフォームに多数の謎の問い合わせ…。
対策としてreCAPTCHA v3を導入しました。
その効果やいかに。
※詳細はこちら。
それでも止まらぬスパム
ブログのお問い合わせフォームにreCAPTCHA v3を設置しましたが、結論から言うとラテン語の謎の問い合わせは止まりませんでした。
reCAPTCHAがbotと判断しない方法で書き込みをされれば検知できないのは当然の結果。
reCAPTCHAが悪いのではなく、どうやって書き込みをされているのか、その傾向を解析せぬまま対応しても、解決はできないんですね。
カワズはレベルが上がった
とりあえず現状reCAPTCHAを設定しておいたままでもメリットしかないと判断し、設定はこのまま維持します。
スパム対策は結局別の暫定対応をすることに
本来であれば書き込み元のIPアドレスを特定して、そこからのアクセスをブロックしてしまえばいいのです。
しかしこのブログ、前述のように日本語にしか対応していないという特性があります。
日本語以外でのお問い合わせが来ることは限りなく0です。(日本語分からない方がブログの問い合わせ自体できるはずがない説)
そこで、簡単に次のような暫定対応を入れることにしてみました。
フォームのいずれかの項目のバリデーションルールで日本語の入力を強制する
スパムを排除するためのバリデーションルール
そのブログの問い合わせフォームは必要最低限、以下の項目のみ設置していました。
- 問い合わせ元の名前
- 問い合わせ元のメールアドレス
- メールアドレスの確認
- 問い合わせ内容
ここに名前(ひらがな)という項目を追加しました。
お問い合わせ頂いたのに名前の読み方など間違えては失礼ですからね。
読み方を求めるのはおかしな事ではないはずです。
この項目に対し、バリデーションルールを追加します。
追加するルールは必須項目とひらがなのみ。
これで名前(ひらがな)の項目に対して平仮名を入力しないと問い合わせできない状態となります。
海外で使用しているコンピュータではそもそも平仮名含む日本語が入力できませんし、フォントも入ってないのでどこからかコピーするのも難しいのです。
スパム対策の暫定対応の効果
結果謎の問い合わせはピタッと止まりました。
英語での問い合わせもできなくなってしまうのが難点ですが、海外ユーザーが見ることはないと思われるそのブログの性質などから、簡単にできる暫定対応としては有効性が高いです。
海外からのスパムに悩まされている方は、このような方法なども検討してみてください。
コメント