スパム対策

ここまで作成してきましたメールフォームCGIを少し改造して、スパム行為対策機能をつけていきます。

この機能はなくてもかまいませんが、あると安心すると思うので、つけておくことをお勧めします。

  1. ダウンロード
  2. 解説

ダウンロード

サンプルプログラムをダウンロードするにはここをクリックします。

ZIP形式で圧縮されているので解凍作業が必要です。

改行コードはWindows形式です。

文字コードは、Perl/CGIプログラム本体および各種設定ファイル、シフトジスバージョンの入力フォーム、thanks.htmlはShift_Jisコードです。

もちろんEUCバージョンの入力フォームはEUC、UTF-8バージョンの入力フォームはUTF-8コードになっています。

解説

今回追加したファイルは、「blacklist.txt」と「blacklist.pl」です。

blacklist.txt

このファイルは、アクセス拒否したいIPアドレスまたは、Host名を1行に1つのわりあいで記述していきます。

例えば、IPアドレスを1つ書いては改行、Host名を1つ書いては改行といった感じです。

でも、両方記述する必要はありません。

しかも、1行目にはIPアドレス、2行目にはHost名といった感じで、情報を混在させてもかまいません。

IPアドレスならIPアドレスだけに、統一する必要がないということです。

blacklist.pl

このファイルには、IPアドレスとHost名を取得する関数と、登録済みのブラックリストと取得した情報を照合する関数が入っています。

メイン処理

メイン処理では、IPアドレスとHost名を取得する部分と、もしブラックリストに登録済みのものであればエラーを出す部分を追加しました。

それと、管理者用のメールファイル内に、取得しましたIPアドレスとHost名を表示させるようにしています。

これで、もしアクセスを拒否したい場合には…。

管理者用に通知されたメール内に記述されているIPアドレスまたは、Host名をコピーし、サーバー上の「blacklist.txt」に登録するだけで完了です。

<戻る>