List of smail.cgi

このファイルは、実行が許可されています。
Sun Sep 23 11:57:38 2018

戻る

TEXTAREA で表示(カット&ペーストむき)

#!/usr/local/bin/perl5

# smail.cgi
# 1997/08/29 Ver.0.00
# 1997/09/24 Ver.0.01
#               + の変換忘れを修正しました。
# 1998/04/10 Ver.0.02
#               いろいろ変更しました。
# 1998/06/08 Ver.0.03
# 1999/11/15 Ver.0.04
#               REMOTE_HOST から REMOTE_ADDR へ
# Copyright (C) 1997,98,99 がま <gama@mvg.biglobe.ne.jp>
#--------------------------------------------------------------------
$sendmail   ='/usr/lib/sendmail';
$nkf        ='/usr/local/bin/nkf';
$back_html  ='step04.htm';
$subject    ='[BIGLOBE と CGI で遊ぼう! step4]';

#★★★  重要な注意点  ★★★★★★★★★★★★★★★★★★★★★★★
#★★★  この $webmaster は必ず書きかえてください!
$webmaster      ='gama@mvg.biglobe.ne.jp';      
#★★★  重要な注意点の終了  ★★★★★★★★★★★★★★★★★★★★

$ct = $ENV{"CONTENT_TYPE"};
$cl = $ENV{"CONTENT_LENGTH"};

# --------------------------------------------------------
$ip =$ENV{REMOTE_ADDR};
###$ip =$ENV{'HTTP_FORWARDED'};        # RIMNET
###$ip =~ s/^.* for //;                # RIMNET
if ($ENV{'HTTP_VIA'} && $ENV{'HTTP_X_FORWARDED_FOR'}) {
        $pip    = $ENV{'HTTP_X_FORWARDED_FOR'};
        $rhost  = gethostbyaddr(pack('C4',split(/\./,$pip)),2);
}
unless ($rhost) {                   # host 名への変換
        $rhost  = gethostbyaddr(pack('C4',split(/\./,$ip)),2);
}
# --------------------------------------------------------
read(STDIN, $in, $cl);
# HTML ---------------------------------------------------
print "Content-type: text/html\n\n";
print "<HTML>";
print "<HEAD><TITLE>ありがとうございます</TITLE></HEAD>";
print "<BODY BGCOLOR=\"#FFFFFF\">\n";
print "$ip <B>$rhost からのご意見、ありがとうございます</B>\n";
print "<PRE><BLOCKQUOTE>\n";
print "<HR>\n";

$htout = $in;
$htout =~ s/comment=/ご意見・ご希望\n/g;
$htout =~ s/CB/きらいなもの/g;
$htout =~ s/&/\n/g;
$htout =~ s/\+/ /g;
$htout =~ s/%(..)/pack("c",hex($1))/ge;
$htout =~ s/</&lt;/g;
$htout =~ s/>/&gt;/g;
$htout =~ s/&/&amp;/g;

print $htout;                                   # 内容

print "<\/PRE><\/BLOCKQUOTE>\n";
print "<HR>\n";
print "<CENTER>\n";
print "<A HREF=\"$back_html\">戻る</A>";
print "</CENTER>\n";
print "<HR>\n";
print "</BODY>\n";
print "</HTML>\n";

# MAIL ---------------------------------------------------

# nkf を通さないとタイトルが化けました。
# sendmail にはパスが通っていなかったのでフルパスを記述

open(MAIL,"| $nkf | $sendmail -t");

print(MAIL "From: $webmaster\r\n");
print(MAIL "To: $webmaster\r\n");
print(MAIL "Subject: $subject\r\n\r\n");
print(MAIL "REFERER:     $ENV{'HTTP_REFERER'}\n" );
print(MAIL "REMOTE HOST: $ENV{'REMOTE_HOST'} $rhost\n" );
print(MAIL "USER AGENT:  $ENV{'HTTP_USER_AGENT'}\n\n" );

$in =~ s/comment=/ご意見・ご希望\n/g;
$in =~ s/CB/きらいなもの/g;
$in =~ s/&/\n/g;
$in =~ s/\+/ /g;
$in =~ s/%(..)/pack("c",hex($1))/ge;

print(MAIL $in);                                        # 内容

close(MAIL);

戻る