誕生日登録改造編
「菊池さんの工作室」で紹介されている「ハッピーバースディ」を菊池さんのアドバイスで改造しました。
というか、すべて教えてもらったものです。(笑)

迷惑書込みがあるとこのページにジャンプします。(爆)
いたずら書きがあるとこのページに飛ばすのも効果があるかもしれませんね(笑)。
現在は空白ページを表示するようにしてますが、以下のようにprint文を追加(2ヶ所)すればアクセス制限した人にはaho.htmlを表示するようにできます。
(URLにはbirthday.cgiからみた相対アドレスを指定します)
#------------------------------------------
sub denied {
$jump = "<META HTTP-EQUIV=\"refresh\"
CONTENT=\"0;URL=aho.html\">";
foreach(@deniedname){
if($form{'name'} =~ /^$_/){ print $jump; exit; }
}
foreach(@deniedaddrs){
if($addr =~ /^$_/ && length($_) > 4){ print $jump; exit; }
}
}
名前、IPアドレスで排除し、登録があるとsendmailで通知されます。
61.215.71.***の「***」部分はプロバイダ経由で接続している場合は接続毎にプロバイダが割り当てますのでIPアドレスが「61.215.71.116」や「61.215.71.117」なる可能性があります
deny from 61.215.71.
にすれば、IPアドレスが「61.215.71.***」のユーザ全てが制限の対象になります。(最後に「.」があります)
なお、Windowsには「*」ワイルドカード指定がありますが「deny from
61.215.71.*」と指定することはできません
PS
昨日、ハッピーバースディにIPアドレスによるアクセス制限を追加しました。
私のページで動作確認済みです。添付しますのでよろしければご利用ください。
(データは旧バージョンのものがそのまま使えます。IPアドレスはページのソースを表示すれば確認できます。birthday.datにも記録)
配布版からは、sendmail機能や、海外サーバー利用時の時差補正、スタイルシートにる文字サイズ等の統一などなど・・・どこをどう追加したか急には思い出せない(汗)
# 投稿排除設定
@deniedname = ('あほ','ばか');# 投稿排除する名前リスト
@deniedaddrs = ('61.215.71.',' 61.215.73.'); # 投稿拒否するipアドレスリスト
# ハッピーバースデーに登録があると管理者にメールで通知する
# (注意)sendmailのパスをプロバイダに確認してください
$s_mail = 1; # メールで登録通知する=1 しない=0
$sendmail = '/usr/lib/sendmail'; # sendmailのパス
$mailto = 'akiku@interq.or.jp'; #
管理者のメールアドレスに変更します
$m_sub = "ハッピーバースディ登録通知メール"; #
登録通知メールのSubject
|