TEL
お問い合わせ

コラム

お問い合わせフォームのスパム対策

2024年03月7日
お問い合わせフォームのスパム対策

ホームページを制作する際にお問い合わせを作るケースが多いですが、その際にメールフォームを設置するのが殆どですが、近年このお問い合わせフォーム(メールフォーム)へのスパム・迷惑メールが急増しており、困っているサイト運営者が多い状況です。

これを防ぐ方法を解説しますので、ぜひ実際にやってみてください。
尚、今回はHTMLで制作されたホームページの場合になります。
WordPressの場合はまた違う対策があります。

送信元はほとんど海外からで自動で一斉に送信されている

まず原因を知って欲しいのですが、送信元は中国やロシアといった海外からが殆どです。
メールフォームを設置する場合、一般的にはphpという言語でプログラム制作します。
ファイル名がmail.phpやform.phpになっているかと思います。
これをHTMLのフォームから呼び出して使用しているのですが、この.phpファイル名などを収集してそのフォームに一斉送信しているのです。
ですのでファイル名を変更しても効果がなくすぐにまた大量のスパムが届きます。
手作業で送っているわけでありません。収集を防ぐはほぼ不可能です。

海外からのアクセスをブロックするのが一番効果的

お問い合わせフォームを設置しているディレクトリだけでも海外からのアクセスをブロックするのが一番効果が高いです。
一般的には以下のようなURLになっているかと思います。
https://www.infinity.jp/contact/
これはウチの例ですが、ドメイン内のcontactというディレクトリを作り、その中にhtmlファイルとフォーム用のphpファイルを格納しています。
要はこのディレクトリにアクセスさせなければいいのです。

.htaccessファイルを設置します

このメールフォームを設置しているディレクトリに.htaccessファイルを設置します。
この.htaccessはパスワード制限など様々使用していますが、今回は「海外IPからのアクセスを拒否する」ために使用します。

実際の記述例

# 検索エンジンをまとめて許可するためにenv化する
SetEnvIf User-Agent "Googlebot" allowbot
SetEnvIf User-Agent "msnbot" allowbot
SetEnvIf User-Agent "bingbot" allowbot
SetEnvIf User-Agent "Slurp" allowbot

# 一旦、全てを拒否する
order deny,allow
deny from all

# 検索エンジンからのアクセスを許可
allow from env=allowbot

# Googleのサーチコンソールのプロパティが確認出来るためにの対策 
allow from googlebot.com
allow from google.com


# 日本国内のIPを許可 (Must)
# http://www.cgis.biz/tools/access/


allow from 1.0.16.0/20
allow from 1.0.64.0/18
allow from 1.1.64.0/18
allow from 1.5.0.0/16

というようになります。
下部のIPリストはもっと多くかなり膨大になります。

このファイルのサンプルをテキストファイルで用意しましたので、下記よりダウンロードしてお使いください。
ファイル形式が.txtになっていますので、ダウンロード後にメールフォームが設置してあるディレクトリへ移動させて、.htaccessというファイル名に変更してください。
※必ず頭が「.(ドット)」になっている必要があります。
その後、サーバーへアップしてください。
制作環境によってはFTPでアップした後にFTP内でファイル名を変更した方がいい場合もあります。

.htaccessのダウンロード

これでほぼブロックできます。

テンプレート型格安ホームページ制作
個人事業主向けホームページ制作プラン
本格集客型ホームページ制作
マニュアルサイト制作
SEO対策
Webコンサルティング
Web集客のコツ
ホームページ制作教室