20070311
MT_de_MAIL カスタムTips -メール送信者のIPアドレスやホスト名を収集してみる-
ver2.04からスクリプトの改造が不要になりました
スクリプト内の『 $hostget 』というスカラー変数の値を『 1 』とするだけでこの機能がご利用頂けます。
いや、別に集めて悪用しようとかっていう訳では当然無く、スパムやイタズラなどが目に余る場合なんかに、役に立つかなーと思って。
『# sendmailにデータを渡す』という個所を探して頂き、一連の動作の末尾に新たにスクリプトを追加いたします。
# sendmailにデータを渡す
if (!(open(MAIL,"| $sendmail -t"))) { &mailerror('何らかの原因で送信できません。'); }
print MAIL "To: $mailto\n";
print MAIL "From: $name<$from>\n";
print MAIL "Subject: $subject\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "Content-Type: text/plain; charset=\"ISO-2022-JP\"\n\n";
print MAIL "$comment\n\n\n";
#時間を取得
@tim = localtime(time());
$year = $tim[5] + 1900;
$mon = $tim[4] + 1;
$t = sprintf('%02d:%02d:%02d', $tim[2], $tim[1], $tim[0]);
$date = year/$mon/$tim[3] $t;
#IPを取得
$ip = $ENV{'REMOTE_ADDR'}
#ホスト名を取得
$host = $ENV{'REMOTE_HOST'}
if($host eq ""){
$host = gethostbyaddr(pack("C4", split('\.', $ip)), 2) || $ip;
}
print MAIL "--------------------------------------------------------\n";
print MAIL "[送信日時]:$date\n";
print MAIL "[IPアドレス]:$ip\n";
print MAIL "[ホスト名]:$host\n";
print MAIL "--------------------------------------------------------\n";
青いフォントの部分が、追加した個所。これでしつこいスパムやなんかは .htaccess でもってアクセス禁止の刑に処してやれば、心も晴々ですよ?。
トラックバック
このエントリーのトラックバックURL:
http://magokorokikaku.com/mt/mt-tb.cgi/50