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 でもってアクセス禁止の刑に処してやれば、心も晴々ですよ?。

[CLAP]

トラックバック

このエントリーのトラックバックURL:
http://magokorokikaku.com/mt/mt-tb.cgi/50