近年、スパム送信はますます巧妙化しており、自動または半自動によるreCAPTCHAの突破も多くなってきました。そこで、少しでもスパム送信による被害を抑えるために全角文字チェック機能をリリースしました。各フォームの編集画面より設定いただけます。
日本語は通常、全角文字で表現されます。その一方で、海外の言語は半角文字であることが多く、グローバルで大規模かつ高機能に行われているスパム送信は半角文字のみで構成されていることが多くあります。皆さんも、英語でよくわからない内容が送られてきたり、英語でもない言語で謎のURLが送られてきたという経験があるのではないでしょうか。
全角文字という日本語が持つ性質を活かし、スパム送信をブロックしてしまおうというのが全角文字チェック機能です。設定をONにすることで、全角文字が一文字も含まれていない場合に処理をストップします。ステータスコード422を返却すると共に専用の画面を表示します。この設定によりブロックされた送信は、月間送信数にはカウントされません。
もちろん、全角文字を使用するのは日本語だけではないので、中国語等のスパム送信はブロックしきれません。また、フォームで海外の問い合わせを受け付ける必要がある場合には、ONにすると通常の問い合わせまでブロックしてしまうため、使用はおすすめしません。
全角文字チェック機能をONにした初期状態では、フォームから送られてくる全項目に対して全角文字チェックを行います。すべての欄が自由入力欄の場合はこのままの設定でも問題は出ないと思いますが、例えばチェックボックスやセレクトプルダウン等で、固定の日本語の値を送信している場合には、スパム送信であってもその固定値の日本語を読み取ってしまい、全角文字チェック判定でOK扱いになってしまいます。
そこで、任意設定項目として「全角文字チェック対象name属性」もあわせて設定できるようにしました。これにより、例えばname属性が「message」ですとか、「問い合わせ内容」といったご希望の項目のみに対して、全角文字チェックを実行することができるようになります。実際には自由記述欄の部分だけで十分に効果が出ると思いますので、既存のフォームに固定値送信の項目がある場合にはこちらの設定も併用してみてください。
今まで、各フォームの編集画面で許可ホスト設定とNG(禁止)ワード設定は初期状態で表示されていましたが、今回の全角文字チェック設定の追加に伴い、送信制限設定というブロックを追加し、そこに集約しました。そもそもこういった制限が必要ない場合に簡単にON/OFFができるようになり、フォーム編集画面をすっきり保つことができます。すでに設定されていた場合にはもちろん自動的にONになるように移行していますので、今まで通りの運用で問題ない場合は、特に何も作業いただく必要はありません。
2023/09/15追記
一見、半角英字に見えるものの、当初設定していた正規表現では全角判定となってしまう文字が存在することが判明したため、正規表現を修正し、そうした半角英字も誤判定にならないようにしました。
引き続き、ひらがなやカタカナ、漢字が含まれている場合には問題なく送信できますのでご安心ください。また、全角文字チェックを有効にしていない場合は関係ありません。