- 締切済み
特定のメルアドを不可にするには
自動応答をする送信フォームを使っています。メールアドレスを書いたら、そこに応答メッセージが届くというものなのですが、このメールアドレスを特定のもの(ホットメールなど)は不可にしたいのですが。 そのようなことを実現している掲示板スクリプトがあったので、なんとか、それを送信フォームに移植したいと思っているのですが、なにせ初心者なのでさっぱりわからない状態です。 どのようなヒントでもかまいませんので、お教えいただければありがたいです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Ethersky
- ベストアンサー率71% (168/235)
$blacklist = './blacklist.txt'; #拒否リスト sub check_bl { #チェックルーチン my($target) = @_; open(FH, "< $blacklist") || die "Error $!"; while(<FH>){ chomp; $_ = quotemeta($_); if($target =~ /(\@|\.)$_$/i){close(FH); return 1;} } close(FH); return 0; } 拒否リスト(ファイル)の中身(例) hotmail.com yahoo.co.jp チェックにはサブドメインも引っかかる仕様にしてるので例えば abcdefg.com というのを拒否リストに入れておけば ~@~.abcdefg.com ~@~.~.abcdefg.com ~@abcdefg.com の全てが一括拒否できます。 使用方法 if(&check_bl( チェック対象のメールアドレス )){ 拒否の場合の処理 }else{ OKの場合の処理(省略可能) }
JavaScriptを使用して 送信フォームのアドレス入力欄に 「hotmail.com」などが入力されたら確認メッセージを出すようにすれば良いかと。 参考にならないと思いますが↓ http://www.openspc2.org/reibun/javascript/regexp/010/index.html
お礼
ありがとうございます。 ジャバスクリプトではなく、cgiのスクリプトで実現したいと思っています。 できれば、cgi本体とは別の設定ファイルにして、 require '**.cgi'; で呼び出すようなものにできればありがたいです。
お礼
ご回答、ありがとうございました。 これから、ローカルで試してみようと思っています。もしかして、補足をおねがいするかもしれませんが、よろしくおねがいいたします。 取り急ぎ、お礼まで。