
Contact Form7を使って問合せを設置していると、海外からの迷惑な問い合わせが届くことがります。
そんな時の対策法です。
問合せの「件名」と「内容」を必須項目とする
下記の例の様にtextとtextareaに「*」を付けて、必須入力とします。
<label> 氏名
[text* your-name] </label>
<label> メールアドレス
[email* your-email] </label>
<label> 題名
[text* your-subject] </label>
<label> メッセージ本文 (任意)
[textarea* your-message] </label>
[submit "送信"]
「件名」及び「内容」に日本語が含まれていない問合せは受付けない
function.phpに下記を追加して、日本語が1文字も含まれていない問合せは受付けないようにします。
//問合せタイトルに日本語が含まれていない場合エラーとする
function wpcf7_validate_spam_message( $result, $tag ) {
$value = str_replace(array(PHP_EOL,' '), '', esc_attr($_POST['your-subject']));
if (!empty($value)) {
if (preg_match('/^[!-~]+$/', $value)) {
$result['valid'] = false;
$result['reason'] = array('your-subject' => '日本語で入力してください');
}
}
return $result;
}
add_filter( 'wpcf7_validate', 'wpcf7_validate_spam_message', 10, 2 );
//問合せ内容に日本語が含まれていない場合エラーとする
function wpcf7_validate_spam_message2( $result, $tag ) {
$value = str_replace(array(PHP_EOL,' '), '', esc_attr($_POST['your-message']));
if (!empty($value)) {
if (preg_match('/^[!-~]+$/', $value)) {
$result['valid'] = false;
$result['reason'] = array('your-message' => '日本語で入力してください');
}
}
return $result;
}
add_filter( 'wpcf7_validate', 'wpcf7_validate_spam_message2', 10, 2 );
Akismet(アキスメット)との連携
コンタクトフォーム7の迷惑メール対策で効果的なのが、Akismet(アキスメット)というプラグインを使うことです。
Akismetは、スパムコメント対策用のプラグインで、ワードプレスに標準装備されているので、有効化するだけで使えます。
Akismetを有効化するだけでも効果はありますが、このAkismetを、コンタクトフォーム7と組み合わせるさらに強力になります。
Akismetが有効化されている前提で、コンタクトフォーム7の「your-name」に akismet:author を追記します。
変更前:[text* your-name]
変更後:[text* your-name akismet:author]
問合せフォームにmailやURLの項目があれば、これらの項目にも同様にakismet:author を追記します。
変更前:[email* your-email]
変更後:[email* your-email akismet:author_email]
変更前:[text your-url]
変更後:[text your-url akismet:author_url]
設定が終われば、送信者の名前を「viagra-test-123」にして、送信テストしてしてください。
「メッセージの送信に失敗しました」と表示されればスパム対策は正常に完了しています。
reCAPTCHAを設定する
reCAPTCHAとは、ロボットによる不正なフォーム送信をブロックしてくれるGoogleによって開発されたサービスです。
Pluginでは「invisible reCAPTCHA」というのがありますが、Contact Form7ではPluginを使わずに設定できます。
invisible reCAPTCHAで設定するのと、Contact Form7で設定するものとの違いは、invisible reCAPTCHAでは保護するページを細かく設定するのに対して、Contact Form7ではサイト全体を保護する事です。
上級者で無ければ、Contact Form7でサイト全体を保護しておくのが簡単で安心です。
Contact Form7でreCAPTCHAを設定するには、WordPressの管理画面から「お問い合わせ」→「インテグレーション」を選び、「reCAPTCHA」欄の「インテグレーションのセットアップ」をクリックします。
その後、reCAPTCHAのサイトキーとシークレットキーを、それぞれ入力し、「変更を保存」すればOKです。
日本語の宣伝を受付けない
日本語でも時々、宣伝のような問合せがくることがありますが、これをシステムで受付けないようにするのは簡単ではありません。
そこで、精神的な対策として問合せのフォームに「この問い合わせは売り込みや宣伝ではありません」というようなチェック項目を設定する程度です。
これでどの程度効果がるのかはわかりませんが、今の所、宣伝の類の問合せは届いていません。
日本語のクイズを追加する
問合せする人にとっては面倒ですが、海外からの迷惑な問合せをシャットアウトするには、クイズを追加するのが効果的です。
コンタクトフォーム7でクイズを追加するのは簡単で、クイズを追加したいbが処で【クイズ】ボタン句をクリックして、クイズの問題と回答を設定します。
クイズの問題としては、下記の例の様に漢字で回答する形式にすると日本語が入力できないと回答できないので、海外からの迷惑な問合せはシャットアウト出来ます。
クイズ(漢字で回答する形式)・・・上級レベルのクイズですが、PCやスマホの漢字変換を使えば回答出来ます
- 次の食材名を漢字で入力してください:かぶ|蕪
- 次の食材名を漢字で入力してください:あずき|小豆
- 次の食材名を漢字で入力してください:こしょう|胡椒
- 次の食材名を漢字で入力してください:かぼちゃ|南瓜
- 次の食材名を漢字で入力してください:きゅうり|胡瓜
- 次の食材名を漢字で入力してください:いちご|苺
- 次の食材名を漢字で入力してください:さといも|里芋
- 次の食材名を漢字で入力してください:すいか|西瓜
- 次の食材名を漢字で入力してください:ねぎ|葱
- 次の食材名を漢字で入力してください:だいず|大豆
- 次の食材名を漢字で入力してください:しいたけ|椎茸
- 次の食材名を漢字で入力してください:だいこん|大根
- 次の食材名を漢字で入力してください:はくさい|白菜
- 次の食材名を漢字で入力してください:ごま|胡麻
- 次の食材名を漢字で入力してください:のざわな|野沢菜
- 次の食材名を漢字で入力してください:たまねぎ|玉葱
- 次の食材名を漢字で入力してください:まめ|豆
- 次の食材名を漢字で入力してください:にんじん|人参
- 次の食材名を漢字で入力してください:なす|茄子
- 次の食材名を漢字で入力してください:とうがらし|唐辛子
- 次の動物名を漢字で入力してください:すずめ|雀
- 次の動物名を漢字で入力してください:うずら|鶉
- 次の動物名を漢字で入力してください:くじゃく|孔雀
- 次の動物名を漢字で入力してください:たか|鷹
- 次の動物名を漢字で入力してください:ねずみ|鼠
- 次の動物名を漢字で入力してください:うし|牛
- 次の動物名を漢字で入力してください:とら|虎
- 次の動物名を漢字で入力してください:うさぎ|兎
- 次の動物名を漢字で入力してください:へび|蛇
- 次の動物名を漢字で入力してください:うま|馬
- 次の動物名を漢字で入力してください:ひつじ|羊
- 次の動物名を漢字で入力してください:さる|猿
- 次の動物名を漢字で入力してください:にわとり|鶏
- 次の動物名を漢字で入力してください:いぬ|犬
- 次の動物名を漢字で入力してください:いのしし|猪
- 次の動物名を漢字で入力してください:おおかみ|狼
- 次の動物名を漢字で入力してください:しか|鹿
- 次の動物名を漢字で入力してください:ねこ|猫
- 次の動物名を漢字で入力してください:かえる|蛙
- 次の動物名を漢字で入力してください:いるか|海豚
- 次の花名を漢字で入力してください:ばら|薔薇
- 次の花名を漢字で入力してください:さくら|桜
- 次の花名を漢字で入力してください:うめ|梅
- 次の花名を漢字で入力してください:あじさい|紫陽花
- 次の花名を漢字で入力してください:たんぽぽ|蒲公英
- 次の花名を漢字で入力してください:きく|菊
- 次の花名を漢字で入力してください:すみれ|菫
- 次の花名を漢字で入力してください:はす|蓮
- 次の花名を漢字で入力してください:あさがお|朝顔
- 次の花名を漢字で入力してください:すずらん|鈴蘭
- 次の果物名を漢字で入力してください:りんご|林檎
- 次の果物名を漢字で入力してください:みかん|蜜柑
- 次の果物名を漢字で入力してください:れもん|檸檬
- 次の果物名を漢字で入力してください:かき|柿
- 次の果物名を漢字で入力してください:ぶどう|葡萄
- 次の果物名を漢字で入力してください:もも|桃
- 次の果物名を漢字で入力してください:いちご|苺
- 次の果物名を漢字で入力してください:せいようなし|西洋梨
- 次の果物名を漢字で入力してください:いちじく|無花果
- 次の果物名を漢字で入力してください:あんず|杏子
- 次の色名を漢字で入力してください:しろ|白
- 次の色名を漢字で入力してください:くろ|黒
- 次の色名を漢字で入力してください:きいろ|黄色
- 次の色名を漢字で入力してください:みどり|緑
- 次の色名を漢字で入力してください:あか|赤
- 次の色名を漢字で入力してください:あいいろ|藍色
- 次の色名を漢字で入力してください:そらいろ|空色
- 次の色名を漢字で入力してください:ぐんじょう|群青
- 次の色名を漢字で入力してください:やまぶきいろ|山吹色
- 次の色名を漢字で入力してください:るり|瑠璃
- 次の色名を漢字で入力してください:はいいろ|灰色
- 次の色名を漢字で入力してください:ちゃいろ|茶色
- 次の色名を漢字で入力してください:くれない|紅
- 次の色名を漢字で入力してください:こがねいろ|黄金色
- 次の色名を漢字で入力してください:むらさき|紫
- 次の色名を漢字で入力してください:こんいろ|紺色
- 次の色名を漢字で入力してください:さくらいろ|桜色
- 次の色名を漢字で入力してください:みずいろ|水色
- 次の色名を漢字で入力してください:ぎんいろ|銀色
- 次の色名を漢字で入力してください:ひすい|翡翠
- 次の干支を漢字で入力してください:ね|子
- 次の干支を漢字で入力してください:うし|丑
- 次の干支を漢字で入力してください:とら|寅
- 次の干支を漢字で入力してください:う|卯
- 次の干支を漢字で入力してください:たつ|辰
- 次の干支を漢字で入力してください:み|巳
- 次の干支を漢字で入力してください:うま|午
- 次の干支を漢字で入力してください:ひつじ|未
- 次の干支を漢字で入力してください:さる|申
- 次の干支を漢字で入力してください:とり|酉
- 次の干支を漢字で入力してください:いぬ|戌
- 次の干支を漢字で入力してください:い|亥]