WordPressのサイトでお問い合わせフォームを実装する場合、「Contact Form 7」などのプラグインを使えば簡単ですが、スパム対策をしていなければ、けっこうスパムメールがきます。
営業メールや海外からのスパムなどいろいろありますが、そのほとんどはURLが入力されているケースが多いので、URLの入力ができないようにしておけば、ある程度のスパムメールを防げるかもしれません。
URLの入力はエラーにする
スパムメールの多くは、URLが入力されているため、お問い合わせの入力にURLが含まれる場合はエラーになるようにしてみます。
functions.phpに以下のように記述すればOKです。
$value = str_replace(array(PHP_EOL,”),”,esc_attr($_POST[‘your-message’]));
if (!empty($value)) {
if (preg_match(‘/https?:\/{2}[\w\/:%#\$&\?\(\)~\.=\+\-]+/’, $value)) {
$result[‘valid’] = false;
$result[‘reason’] = array(‘your-message’ => ‘URLは入力できません’);
}
}
return $result;
}
add_filter(‘wpcf7_validate’, ‘wpcf7_validate_custom’, 10, 2);
※全角スペースが含まれているため、コピペで使用する際はご注意ください。
これで、URLが含まれていないかチェックすることができ、URLが含まれている場合は「URLは入力できません」というエラーが出ます。
「your-message」は任意の名前ですが、Contact Form 7でフォームを設置する際のtextareaの名前と同じにしてください。
スパム対策として他にできること
今回紹介した方法も一定の効果はあるかもしれませんが、それでもスパムメールがくる可能性はあります。
他にできることとしては、入力できる文字数を制限するとか、英語のみの入力をエラーにする方法もあります。
よりしっかりしたスパム対策を行うなら「Akismet」というプラグインを使う方法やreCAPTCHAを設定する方法がいいかもしれません。
関連記事
【スパム対策】Contact Form 7で英語のみの入力はエラーにする方法
WordPressを始めるならエックスサーバーがおすすめ
WordPressでブログやアフィリエイトを始めたい、良いレンタルサーバーに乗り換えたいという方にはエックスサーバーがおすすめです。
その理由は以下の通り。
- 国内シェアNo.1のレンタルサーバー
- サポートの品質が高い
- 表示速度・処理速度が速い
WordPressが学べるおすすめのスクール
WordPress関連の本もありますし、ネット上にはたくさんの情報がありますが、短期間でWordPressも含めたWeb制作のスキルを身につけたい方にはプログラミングスクールがおすすめです。
TechAcademy
- WordPressのサイト制作の流れが理解できる
- WordPressでオリジナルサイトが作れるようになる
- プラグインやカスタムフィールドを学べる
- オンラインで完結
- 講師・メンターが現役エンジニア
Leave a Comment