フォームに日本語が入力されていることをチェックするのはむずかしい
こんにちは、魚沼情報サービスの対馬(つしま)です。
魚沼情報サービス、パソコン教室くりっくのサイトには お問い合わせ や レッスン予約 などのフォームを Contact Form 7 を使って設置してありますが、スパム対策として以下のことを行っています。
Contact Form 7 のフォームで行っているスパム対策
- Google の reCAPTCHA
- 日本語が入力されているときだけ受け付ける
悪質なスパムの場合は reCAPTCHA が完璧にはじいてくれるのですが、それ以外のスパム (たぶん手作業でやってるんだろうな…?) だとフォームから送信されちゃうことがあります。
そういうスパムってほぼすべてが海外からなので、日本語が入力されているときだけ受け付ける設定も行っています。
日本語判定 functions.php にフィルターフックを記述
具体的には、functions.php に以下のフィルターフックを記述して、ひらがなが含まれるときだけ受け付けるようにしています。
/*-------------------------------------------*/
/* Contact Form 7 の <textarea> にひらがなが含まれなければエラーにする
/*-------------------------------------------*/
add_filter('wpcf7_validate_textarea', 'wpcf7_validation_textarea_hiragana', 10, 2);
add_filter('wpcf7_validate_textarea*', 'wpcf7_validation_textarea_hiragana', 10, 2);
function wpcf7_validation_textarea_hiragana($result, $tag)
{
$name = $tag['name'];
$value = (isset($_POST[$name])) ? (string) $_POST[$name] : '';
if ($value !== '' && !preg_match('/[ぁ-ん]/u', $value)) {
$result['valid'] = false;
$result['reason'] = array($name => '本文は日本語でご記入ください。Please type your message in Japanese.');
}
return $result;
}
まれに日本語判定に問題あり
上記のやり方で日本語で入力されていることの判定はほぼうまくいっていたのですが、レッスンの希望内容の入力で以下のケースがありました。

日本語で入力しているのに、「日本語でご記入ください」と表示するのはダメですね。
誤判定の対策は?
判定のアルゴリズムにカタカナを含めようかとも考えたのですが…
ちょっと待てよ…
「WordPress 操作説明希望」みたいな場合はどうするんだ…?
そこまで考えてしまうときりがないな…
ということで、このように ↓ しました。

このように入力した方は、すごい!! AIだ!! と驚かれるかもしれません。(^^♪
なかなかいいアイディアではないかと…。
サイト運営者プロフィール

- 魚沼情報サービス・ベクトル公式テクニカルパートナー
-
【日本全国対応】WordPress のサイト制作、設定、カスタマイズ、トラブルでお悩み、お困りの方、ベクトル公式テクニカルパートナーがお手伝いいたします。
Lightning / VK Blocks / VK Filter Search のサポート、カスタマイズを得意としています。
遠方からのご依頼の場合、打ち合わせ・サポートを Zoom や電子メール・電話などを併用して行わせていただきます。
オンラインレッスン形式でのホームページ制作サポートも行っています。お客様ご自身でホームページを制作・運用する上でうまくいかない部分をサポートいたします。設定やカスタマイズを手伝ってもらいたい、同時に便利な使い方や設定方法、カスタマイズのやり方も知ることができたら...という方にご好評いただいています。
デザイナー様、制作業者様のサイト制作のお手伝いも数多く行っています。難しい部分のコーディング ( PHP / CSS / jQuery ) をやってほしい、いま人手が足りない等、お仕事の依頼をお待ちしています。
ご要望をうかがった上で費用見積り(無料)を提示させていただきますので、お気軽にお問い合わせください。
≫メールでのお問い合わせはこちら
最新の投稿
WordPress2025年2月1日スターターパックのアコーディオンのデザインを追加しました
WordPress2025年1月17日スターターパックのモバイルナビのデザインを2つ追加しました
WordPress2024年12月25日WordPress コアの詳細ブロックで作った排他的に開閉するアコーディオン
WordPress2024年12月14日VK Blocks Pro で投稿リストのカルーセル表示が超かんたんになった

Lightning テーマ使用
中小企業様、個人事業主様向け
最適なホームページ
を制作いたします
制作費用 | クオリティを落とさずに 価格を抑えたサイトを制作します |
必要十分 | お問い合わせフォーム、新着情報など 必要なものが最初から揃っています |
サポート | 1年間のサポートがついて安心 初めてでもホームページを活用できます |