#!/usr/local/bin/perl

print "Content-type: text/html\n\n";

use DB_File;
require 'jcode.pl';
require 'domain.pl';

###################
$QAE2='QAE10f.htm';
$qanda='qanda3';
###################
$sendmail = '/usr/lib/sendmail';



#$keke='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.4; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)';
#$keke='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322)';

$evh=$ENV{'HTTP_USER_AGENT'}; 
$keke='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.6; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)';#print "<br>";

$keke='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB7.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)'; 


$crome='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10';

$crome2='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB6.6; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; Tablet PC 2.0)';

$crome3='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)';

$crome4='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.94 Safari/534.13';

$crome5='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; Tablet PC 2.0)';


$crome6='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; Tablet PC 2.0; BRI/2)';


foreach (($keke, $crome, $crome2, $crome3, $crome4, $crome5, $crome6)){
   if ($evh eq $_){
       $keke=$_; 
}
}


$evhh=$ENV{'REMOTE_ADDR'};

if ($evh eq $keke)

{

$netcafe=$evhh;   
}else{
$netcafe='no';#僕以外の人
}

#print $netcafe;

#$netcafe='110.3.29.164';#110.3.29.164ネットカフェから投稿する場合 高松210.230.179.198  
$qryy=$ENV{'QUERY_STRING'};#64.124.85.211;160.23.224.3;211.121.64.119;

$inano='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; GTB6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729)';

#$inano='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; AskTB5.4)';

$mukai='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB0.0; YTB730; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET CLR 3.0.04506; Media Center PC 5.0; SLCC1)';

if ($evh eq $mukai){
   print "Please check your account."; exit;
}

if ($evh eq $inano or $evh eq $keke){
   $inano2="inano";
   $inano2="keke";

   &seitou;

}




&basho;

foreach (keys %basho){
  if ($evhh eq $_) {
     $basho=$basho{$_};
}
}

if ($basho eq ''){
    $basho='none';
}

&jcode'convert(*basho, "jis");

%suzuki=('suzukishu', '211.121.64.119', 'takei', '121.102.111.80', 'tomii','219.214.195.127', 'saito', '219.127.0.21');

foreach (keys %suzuki){
if ($evhh eq $suzuki{$_}){

      &seitou($_);

}
}



if ($qryy=~/button9button9/){
$button9='button9';
   &seitou($button9);
}

@rrr=('160.23.224.3', '70.234.188.216', '64.124.85.211', '70.56.252.2', '70.234.166.93', '72.14.252.136', '160.23.214.14', '160.23.230.31', '88.162.132.48', '160.23.214.30', '81.241.89.166', '160.23.230.75', '98.232.228.59', '98.232.231.177', '99.48.30.190', '93.33.249.119','98.164.253.239', '98.235.198.227', '99.62.1.91', '98.235.208.165', '91.128.67.91', '96.251.27.106', '92.193.242.66', '92.193.47.116', '83.60.146.126', '195.60.183.2', '90.209.163.30', '194.217.193.90', '84.12.194.157', '174.36.199.203
', '98.112.113.220', '84.78.184.162', '199.48.147.44', '96.251.80.250');

#grep($_ =~/^\s*$/ ? 1:0, @aaa)


unless (grep($evhh eq $_ ? 1:0, @rrr)){
  if ($evhh=~/^9\d\./ or $evhh=~/^8\d\./ or $evhh=~/^19\d\./ or $evhh=~/66\.109\.21\.118/){
 
   unless ($qryy=~/button9button9/){

$popo='<center>数字の九を押してください。<FORM METHOD=get ACTION="./wwwboard.cgi"><br><input type="submit" value="9" name="button9button9">　　<input type="submit" value="10" name="button10">　　<input type="submit" value="2" name="button2">';

   print $popo; exit;

}
}
}



$nakanohito=<<'AAD';
<!-- nakanohito -->
<script LANGUAGE="Javascript">
<!--
var refer = document.referrer;
document.write("<a href='http://nakanohito.jp/'>");
document.write("<img src='http://nakanohito.jp/an/?u=168600&h=727839&w=48&guid=ON&t=&version=js&refer="+escape(parent.document.referrer)+"&url="+escape(parent.document.URL)+"' border='0' width='48' height='48' />");
document.write("</a>");
//-->
</script>
<noscript>
<img src="http://nakanohito.jp/an/?u=168600&h=727839&w=48&guid=ON&t=" width="48" height="48" alt="" border="0" />
</noscript>
<!-- nakanohito end -->


AAD





if ($qryy=~/takeshit/ or $evhh eq $netcafe){

    $tomy='tomi'; $qryy=~s/takeshit//;

}


if ($evhh eq '85.255.120.210' or $evhh=~/87.99.79.9\d/){
#if ($tomy){

&yahoo;

}


%DEKIN=('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)', '218.147.94.123', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)', '64.86.17.2', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)', '219.214.195.127s', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12','220.157.199.102', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7', '58.65.235.213');

foreach (values %DEKIN){

if ($evhh eq $_){
    $dekin='dekin';
    &yahoo;

}



}



$remote=$ENV{'REMOTE_ADDR'};


sub yahoo {

$yah='<html><META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://www.yahoo.com"><center>';
  print $yah;
&mmmail($yah);
exit;

}






#########################################
@rem=('137.205.8.4');#書き込み禁止
@rem2=('山谷','緋色','通り','獣','makoto','まこと','fms','ｆｍｓ','フリーメイソン','kokoro','日基');#書き込み禁止

$BANNED = "./BANNED";
$db= tie %BAN, "DB_File", "$BANNED";
$TIME=time;



if ($ENV{'QUERY_STRING'}=~/ttle2_2/){   
   if ($ENV{'QUERY_STRING'}=~/kotae=13/){
       $db -> del($remote);
       $maru="Correct";
       &seitou($maru);

}else{
       $maru="Wrong";
       &seitou($maru);
       exit;
}
}

sub seitou {
    

$millnm='millnm@path.ne.jp';
open MAIL,"|$sendmail $millnm";

print MAIL <<EOF;
To: $millnm
From: millnm\@path.ne.jp
Subject: abcde $_[0] $inano2 
$evhh
$remote
書込み人名：$FORM{'FROM'}
時間：20$year年$month月$day日$hour時$min分$sec秒
$ENV{'HTTP_USER_AGENT'}
$ENV{'QUERY_STRING'}

EOF


}



sub banned {




foreach (keys %BAN){###3
    if ($_ eq $remote){###2
       if ($BAN{$remote} == 3 or $BAN{$remote}>4){###1
          &yahoo;

}###1
}###2
}###3


       $BAN{$remote}=$BAN{$remote}+1; ##初回〜2回書き込み者、数字繰り上げ


&mmmail;


sub mmmail{
$millnm='millnm@path.ne.jp';
open MAIL,"|$sendmail $millnm";

print MAIL <<EOF;
To: $millnm
From: info\@path.ne.jp
Subject: wrong access  $dekin

$evhh
$remote
書込み人名：$FORM{'FROM'}
時間：20$year年$month月$day日$hour時$min分$sec秒
$ENV{'HTTP_USER_AGENT'}
書き込み回数　$BAN{$remote}
$yah

$FORM{'MESSAGE'}

EOF
}


}

$jjoin=join' || ', keys %BAN;




$ich='アラシ業者排除用不正書き込み防止機能が作動しました。掲示板を復活させたい場合は、下のボックスに「いちたすじゅうに」の答えを入れて送信してください。なお、書き込みをすると、再び排除機能が作動します。';
foreach (keys %BAN){
if ($remote eq '85.255.120.210' or $remote eq $_ ){
  print '<html><center><form action="./wwwboard.cgi" method=get>'."$ich"." <br><br><input type\=\"text\" name=\"kotae\"><input type\=\"submit\"><input type\=\"hidden\" name\=\"ttle2_2\"><\/form><\/html>"; 
 
$ooo='Aborted';

seitou($ooo);

exit; 
}
}
   




&domain;
#########################################
#sendmail停止############################
$sml = 'ON';
#########################################


$person= $ddd{$ENV{'HTTP_USER_AGENT'}};

if ($evh=~/@/){#anonymous書き込み禁止
  $anony="tomi2";
}

if ($evh =~ /Anonymization\.Net|AnonSurf/){

print <<'AAA';
申し訳ございませんが、このHPでは、自分の意見が確立しており、考え方を変える気がない方のためにはスペースを提供しておりません。反対の意見の方は、どこか公共のスペースをご利用ください。 
AAA
   exit;
}


&bbs;


$hua=$ENV{'HTTP_USER_AGENT'};
$stri=$ENV{'QUERY_STRING'};

@fff=split/&/,$stri;

foreach (@fff){
   @kkk=split/=/,$_;
   if($kkk[1] eq 'esti'){
      $env='esti';last;
}
}



if ($hua ne 'Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; (R1 1.5); Alexa Toolbar)' || $env ne 'esti'){
	#       print "Content-type: text/html\n";

		print "\n";
		print "<HTML>\n";
#    print '<center><br><br>書き込みは<a href="http://www.s-jp.com/bbs/mkgu/takeshit.html">掲示板</a>をご利用ください</center>';
#exit;

}

#===========================================================
# wwwboard: Version 2.55
# Copyright (C) 1997, 1999 とほほ
# http://wakusei.cplaza.ne.jp/twn/wwwboard.htm
# フリーソフト・再配布/改造/流用可能・確認メール不要
#===========================================================

#
# 1997.03.23 初版
# 1997.03.?? 改行を改行として扱うように修正
# 1997.04.10 時間帯が狂ってしまうことがある問題に対処
# 1997.04.20 長いタグを書くと強制的に改行が挿入されてしまう問題に対処
# 1997.05.11 初期値を300行に減らした
# 1997.05.11 「再描画」を「再表示」に
# 1997.05.11 「戻る」ボタンをつけた
# 1997.05.18 「伝言板」に改名
# 1997.06.08 メールアドレスを入力できるようにした
# 1997.06.15 ＵＲＬを入力できるようにした
# 1997.06.15 曜日を表示するようにした
# 1997.06.15 漢字コードの文字化けに対処した。(jcode採用)
# 1997.07.06 10分以上古いロックファイルは削除するようにした
# 1997.08.24 NN2.0で文字化けするバグを修正
# 1997.10.19 自己診断機能を強化
# 1997.11.09 HTMLタグを許さない指定を可能にした
# 1998.04.12 x-sjisを指定しないようにした
# 1998.05.24 リロードしても二重書き込みしないようにした
# 1998.05.24 アンパ(&)とクォート(")も文字化けしないようにした
# 1998.05.25 二重書き込み禁止がNetscapeサーバーで動かなかったので一時見送り
# 1998.08.02 </BODY></HTML>の書き忘れを修正
# 1998.11.08 SIGPIPE対処とエラー時のメッセージ追加
# 1999.02.07 Ver2.52 2000年対応
# 1999.05.23 Ver2.53 クライアントがJISを送信するときの文字化けに対処
# 1999.06.06 Ver2.54 ロックファイルのパーミッションを755から0755に修正
# 1999.10.03 Ver2.55 誤ってロックファイルを消してしまうことがあるバグを修正
#

#
# Maximum number of messages
#
$max_msgs = 100;

#
# Return URL
#
$return_url = "http://www.path.ne.jp/~millnm/home.html";

#
# Allow HTML tags
#
$allow_html = 0;

#
# Set timezone
#
$ENV{'TZ'} = "JST-9";

#
# Constant variables
#
@wdays = ( "日", "月", "火", "水", "木", "金", "土", "日" );

#
# Test mode
#
if ($ARGV[0] eq "test") {
	#print "Content-type: text/html\n";
	print "\n";
	print "<HTML>\n";
	print "<HEAD>\n";
print '<meta name="robots" content="noindex, nofollow"> ';
	print "<TITLE>wwwboard test</TITLE>\n";
	print "</HEAD>\n";
	print "<BODY TEXT=black BGCOLOR=white>\n";
	print "CGIスクリプトは正常に動作しています。\n";
	if (! -d "lock") {
		print "<BR>NG. lockディレクトリが存在しません。\n";
	} elsif (! -w "lock") {
		print "<BR>NG. lockディレクトリに書き込みができません。\n";
	} elsif (-d "lock/wwwboard.loc") {
		print "<BR>NG. lock/wwwboard.loc が残っています。\n";
	}
	if (! -f "wwwboard.dat") {
		print "<BR>NG. wwwboard.dat が存在しません。\n";
	} elsif (! -w "wwwboard.dat") {
		print "<BR>NG. wwwboard.dat に書き込みできません。\n";
	}
	if (! -f "wwwboard.tmp") {
		print "<BR>NG. wwwboard.tmp が存在しません。\n";
	} elsif (! -w "wwwboard.tmp") {
		print "<BR>NG. wwwboard.tmp に書き込みできません。\n";
	}
	print "</BODY>\n";
	print "</HTML>\n";
	exit(0);
}

#
# Japanese KANJI code
#
if (-f "jcode.pl") {
	$jflag = true;
	require "jcode.pl";
	$code = ord(substr("漢", 0, 1));
	if ($code == 0xb4) {
		$ccode = "euc";
		$hcode = "x-euc-jp";
	} elsif ($code == 0x1b) {
		$ccode = "jis";
		$hcode = "iso-2022-jp";
	} else {
		$ccode = "sjis";
		$hcode = "x-sjis";
	}
}

#
# Read variables
#
if ($ENV{'REQUEST_METHOD'} eq "POST") {
	read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'});
        @a = split(/&/, $query_string);

               @zz2=split/\=/,$a[2];

               $zz2[1] =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;

               @zz2=split/\n/,$zz2[1];

           if (length $zz2[0]< 2 or $zz2[0] eq '' or $zz2[0] =~ /^\n$/  or $zz2[0] =~ /^\s*$/ or $zz2[0] =~ /^<br>$/ or $zz2[0]=~/<.*>/ or $zz2[0]=~/(\&lt\;).*(\&gt\;)/){
               print "<center>No title or title length should be within 62 bits or title should not include such letters as \"。！.｡．\"";
          $index=0;
          foreach (@a){
             $_=~ s/\n/<br>/g;
             $blog[$index]=$_;
             ++$index;
}

            $blog=join'', @blog;
$blog =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;
         print "<br><br>$blog";

exit;

}


	foreach $x (@a) {
		($name, $value) = split(/=/, $x);
		$value =~ tr/+/ /;
		$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;
                $value =~ s/・/#Kuromaru#/g;
                $value =~ s/\&amp\;middot\;/#Kuromaru#/g;
                $value =~ s/\&middot\;/#Kuromaru#/g;
                $value =~ s/\&\#65279\;//g;
                $value =~ s/\&\#22323\;/?/g;

                $value =~ s/\&ordm\;/#ondo#/g;#Kuromaru#



 


		if ($jflag) {
			&jcode'convert(*value, "euc");
		}
		if ($allow_html) {
			$value =~ s/<!--/&lt;!--/g;
			$value =~ s/-->/--&gt;/g;
		} else {
			$value =~ s/&/&amp;/g;
			$value =~ s/"/&quot;/g;
			$value =~ s/</&lt;/g;
			$value =~ s/>/&gt;/g;
		}
		if ($jflag) {
			&jcode'convert(*value, $ccode);
		}
		$FORM{$name} = $value;
	}
}

#
# File lock
#
#foreach $i ( 1, 2, 3, 4, 5, 6 ) {
	#if (mkdir("lock/wwwboard.loc", 0755)) {
		#last;
	#} elsif ($i == 1) {
		#($mtime) = (stat("lock/wwwboard.loc"))[9];
		#if ($mtime < time() - 600) {
			#rmdir("lock/wwwboard.loc");
		#}
#	} elsif ($i < 6) {
	#	sleep(2);
	#} else {
		#print "Content-type: text/html\n";
		#print "\n";
		#print "<HTML>\n";
		#print "<HEAD>\n";
		#print "<TITLE>掲示板</TITLE>\n";
		#print "</HEAD>\n";
		#print "<BODY>\n";
		#print "<H1>掲示板</H1>\n";
		#print "<HR>\n";
		#print "只今、掲示板が混雑しております。しばらくお待ちの上、";
	#	print "再度アクセスお願いします。\n";
		#print "<HR>\n";
		#print "</BODY>\n";
		#print "</HTML>\n";
		#exit(1);
	#}
#}

#
# Remove lockfile when terminated by signal
#
sub sigexit { rmdir("lock/wwwboard.loc"); exit(0); }
$SIG{'PIPE'} = $SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = "sigexit";

#
# Write to date file
#


if ($tomy ne 'tomi'){###不正書き込みがあった場合登録
if ($FORM{'MESSAGE'}){

        &banned;

}
}

if ($FORM{'MESSAGE'} ne "") {

	#
	# Get date and time
	#
	($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst)
			= localtime(time);
	$date = sprintf("%04d/%02d/%02d(%s) %02d:%02d",
		$year + 1900, $mon + 1, $mday, @wdays[$wday], $hour, $min);

	#
	# Write current message.
	#
	$FORM{'MESSAGE'} =~ s/\r*$//g;
	$FORM{'MESSAGE'} =~ s/\r/<BR>/g;

if ($anony){
   $FORM{'FROM'}=$anony;   
}


unless ($FORM{'FROM'} eq 'tomi2' or grep($ENV{'REMOTE_ADDR'} eq $_ ? 1:0, @rem) or grep($FORM{'FROM'} eq $_ ? 1:0, @rem2) or grep($FORM{'MESSAGE'} eq $_ ? 1:0, @rem3) ){
  if ($FORM{'FROM'} eq 'tomi' or $FORM{'FROM'} eq 'tomii' or $FORM{'FROM'} eq 'tomi3'){

     if ($tomy eq 'tomi'){########iii####

	open(OUT, "> wwwboard.tmp"); $kaki='1';
}
}
}

if ($FORM{'FROM'} eq 'tomi3'){
    $tomi3 = 1; 
    $FORM{'FROM'}=~s/(tomi)3/\1/;
}
	print OUT "<TABLE><TR><TD>\n";
	if ($FORM{'URL'} eq "") {
	    print OUT "<FONT COLOR=\"#FF0000\">$FORM{'FROM'}</FONT> $date\n";
	} elsif ($FORM{'URL'} =~ /^http:/) {
	    print OUT "<A HREF=\"$FORM{'URL'}\">$FORM{'FROM'}</A> $date\n";
	} else {

	    print OUT "<A HREF=\"mailto:$FORM{'URL'}\">$FORM{'FROM'}</A> $date\n";
	}
                $FORM{'MESSAGE'}=~ s/(http:\/\/)([\w\/\.\~\_\?\-\=\&\#\;\:\.\,\%\+\(\)]*)/<a href="\1#\2">\1#\2<\/a>/g;
                $FORM{'MESSAGE'}=~ s/(http:\/\/)#/\1/g;

                $FORM{'MESSAGE'}=~ s/(https:\/\/)([\w\/\.\~\_\?\-\=\&\#\;\:\.\,\%\+\(\)]*)/<a href="\1#\2">\1#\2<\/a>/g;
                $FORM{'MESSAGE'}=~ s/(https:\/\/)#/\1/g;

                $FORM{'MESSAGE'}=~ s/(&lt;)(\/*)(blockquote)(&gt;)/<\2\3>/ig;

                $fm_1=$FORM{'MESSAGE'};
                @fm=split/\n/,$fm_1;
            
             if(length $fm[0]<60 or $fm[0]!~/&gt;|&lt;|＜|＞/){
                $FORM{'MESSAGE'}=~ s/^(.*)\n/<b>\1<\/b>/;
}

 $FORM{'MESSAGE'}=~ s/(&lt;)(\/*)(blockquote)(&gt;)/<\2\3>/ig;
 $FORM{'MESSAGE'}=~ s/<\/blockquote>\s*<br>\s*<br>/<\/blockquote><br>/ig;
 $FORM{'MESSAGE'}=~ s/(<\/blockquote>\s*)(<br>)(\s*<blockquote>)/\2\2/ig;

 $FORM{'MESSAGE'}=~ s/(<blockquote>)\s*(.*?)\s*(<\/blockquote>)/\1<FONT FACE="ＭＳ ゴシック" LANG="JA">\2<\/font>\3/ig;

                $FORM{'MESSAGE'} =~ s/\#Kuromaru\#/\・/g;####2006225

                $FORM{'MESSAGE'}  =~ s/\&amp\;middot\;/#Kuromaru#/g;
                $FORM{'MESSAGE'}  =~ s/\&middot\;/#Kuromaru#/g;
                $FORM{'MESSAGE'}  =~ s/\&\#65279\;//g;
                $FORM{'MESSAGE'}  =~ s/\&ordm\;/#ondo#/g;
                 $FORM{'MESSAGE'}  =~ s/\&\#22323\;/?/g;
                 $FORM{'MESSAGE'}  =~ s/(tak0719\.)hp(\.infoseek)/\1web\2/g;




	print OUT "<BR><BR>$FORM{'MESSAGE'}\n";
	print OUT "</TD></TR></TABLE>\n";
	print OUT "<HR>\n";

	#
	# Append messages.
	#
	open(IN, "wwwboard.dat");
	while (<IN>) {
		print OUT;
	}
	close(IN);
	close(OUT);

	#
	# Copy .tmp to .dat
	#
	open(IN, "wwwboard.tmp");
	open(OUT, "> wwwboard.dat");
	$msgs = 0;
	while (<IN>) {
		if ($_ =~ /^<TABLE><TR><TD>/) {
			if ($max_msgs != 0) {
				if ($msgs++ >= $max_msgs) {
					last;
				}
			}
		}
		print OUT;
	}
	close(IN);
	close(OUT);
}

#if ($ARGV[0] eq "reload") {
#	rmdir("lock/wwwboard.loc");
#	print "Location: $ENV{'SCRIPT_NAME'}\n";
#	print "\n";
#	exit(0);
#}


$arashika='<br><font color=red size=+3>本ミニストリに対して問答無用に反対の立場を取る人々の閲覧を禁止します。このHPはそのような人に向けて書かれたものではありません。個人攻撃をするつもりはいっさいありません。もっぱら霊的な利益を受けようとする心の柔軟な人々のために公開されている私的スペースです。</font><br>';

$arashika2="<font color\=red size\=-2>This is a personal site for my specific purpose of sharing testimonies to spiritual and material blessings provided me with by God and teaching of His Word with true believers in the Bible and its sound teachings, so if you are interested in critcizing my ministry, please get out of here as soon as possible so that you can spend your precious time on minding your own business. If you continue to visit this and other pages included in my domain for critical purposes, your ID information will be registered in my server for security.:<\/font><br><font color\=black>$evh <br> $evhh<\/font>";



$arashika3='<font color=black><br>このHPの維持のために、あなたの<a href="http://www.path.ne.jp/~millnm/support2.htm">サポート</a>を感謝します。<br>
<b><font color="red">Edyが現在ギフト停止となっており申し訳ございません。</b></font>

<br>ご意見・ご感想・ご質問は<a href="http://www.path.ne.jp/~robcorp/cgi-bin/NL.html">ゲストブック</a>よりお願いします。</font>
<br>
<a href="http://www.twitter.com/millnm"><img src="http://twitter-badges.s3.amazonaws.com/t_logo-b.png" alt="millnmをフォローしましょう"/></a><br>


';


#
# Print HTML document
#
#print "Content-type: text/html\n";
print "\n";
print "<HTML>\n";
print "<HEAD>\n";
print '<meta name="robots" content="noindex, nofollow"> ';
print "<TITLE>ミレニアム新着情報</TITLE>\n";
print "</HEAD>\n";
print "<BODY BGCOLOR=\"#D7D7D7\">\n";
print "<H2>ミレニアム新着情報</H2><H3><font color=blue></font></H3>\n";
if ($return_url ne "") {
	print "<A HREF=\"$return_url\">[戻る]</A><br>$arashika $arashika2 $arashika3 <br><br><font size=\"+4\" color=blue><\/font>";
}
$pte='すが、アラシ行為やHPと関係ない内容、<b>理由のない、ただ印象や感覚で断罪し、反論の余地を与えないような</b>批判、自説の一方的吹聴などマナー違反の投稿は禁止します';

print "<HR>\n";

$subsoshi=<<'EOF';



<FORM METHOD=POST ACTION="./wwwboard.cgi">
<TABLE BORDER=1>
<TR>
<TD>お名前：</TD>




<TD><INPUT TYPE=text NAME=FROM SIZE=54 VALUE="tomi"></TD>
</TR>
<TR>
<TD>ＵＲＬ：</TD>
<TD><INPUT TYPE=text NAME=URL SIZE=54 VALUE=""></TD>
</TR>
<TR>
<TD COLSPAN=2><SMALL>URLにはメールアドレスか、http:で始まるホームページアドレスを入れてください。省略可。</SMALL></TD>
</TR>
<TR><TD COLSPAN=2>
<TEXTAREA ROWS=10 COLS=60 NAME=MESSAGE></TEXTAREA></TD></TR>
</TABLE>



<P><INPUT TYPE=submit VALUE="送信 / 再読み込み">
</FORM>
<HR>

EOF

if ($remote eq $netcafe){
    $subsoshi2=$subsoshi;
}


print $subsoshi2;

unless($FORM{'FROM'} eq 'tomi2'){
open(IN, "wwwboard.dat");
while (<IN>) {
        $_ =~ s/\#Kuromaru\#/\・/g;####2006225
        $_=~s/\&amp\;\#8212\;/\- /g;
        $_=~s/\&amp\;shy\;/\-/g;

        $_  =~ s/\&amp\;middot\;/・/g;
        $_  =~ s/\&middot\;/・/g;

        $_  =~ s/\&\#65279\;//g;
        $_  =~ s/#ondo#C/℃/g;
        $_  =~ s/\&amp\;ordm\;C/℃/g;
        $_  =~ s/\&\#22323\;/?/g;
                 $_  =~ s/(tak0719\.)hp(\.infoseek)/\1web\2/g;


#        $_=~s/(\"\>http\:\/\/.{10}).*(<\/a>)/\1\.\.\.\2/g;

	print;
}
close(IN);
print "$nakanohito";
print "</BODY>\n";
print "</HTML>\n";
}
#
# File unlock
#
rmdir("lock/wwwboard.loc");

                @zz=split/\n/,$value;

           if ($FORM{'FROM'} eq 'tomi' or $tomi3 == 1) {

                job(@zz);
}

           elsif($FORM{'FROM'} eq 'tomi2'){

                job2(@zz);
}



sub bbs {
$moment="../cgi-bin/moment";
$db= tie %hash, "DB_File", "$moment";
$time2=time;
$datum="$ENV{'REMOTE_ADDR'}".'`?'."$ENV{'HTTP_USER_AGENT'}";
$db->put($time2,$datum);

foreach (sort {$a<=>$b} keys %hash){

   if ($_ < $time2 - 24*60*60){
      $db -> del($_);
}

}


$ev=grep ($_ eq $datum ? 1:0, sort {$a<=>$b} values %hash);



if ($evh !~ /atena/){
   &count_1;
}

$millnm='millnm@path.ne.jp';
$sendmail = '/usr/lib/sendmail';

$year=(localtime)[5];
$year=$year-100;
$month=(localtime)[4];
$month=$month+1;
$day=(localtime)[3];
$hour=(localtime)[2];
$min=(localtime)[1];
$sec=(localtime)[0];

unless ($evh =~ /Alexa Toolbar/ or $evh =~/hatena/ or $evh =~/MailFlash/ or $evhh=~/219\.214\.195\.127/){

unless ($sml eq 'OFF'){
open MAIL,"|$sendmail $millnm";
}

if ($kaki){
   &print1;
}

sub print1 {
print MAIL <<EOF;
To: $millnm
From: millnm\@path.ne.jp
Subject: bbs writer

書込み人名：$FORM{'FROM'}
時間：20$year年$month月$day日$hour時$min分$sec秒
$ENV{'HTTP_USER_AGENT'}


EOF

}

print MAIL <<EOF;
To: $millnm
From: info\@path.ne.jp
Subject: $ENV{'REMOTE_ADDR'}  $basho

カウント：$cnt
時間：20$year年$month月$day日$hour時$min分$sec秒

1.$ENV{'REMOTE_ADDR'}
2.$ENV{'HTTP_USER_AGENT'}
3.$ev
4.$person


EOF

}
#Anonymiz

}

sub count_1{

       $cfile="../cgi-bin/counter.txt";
       open AAA, "$cfile";
       flock AAA,2;
       chmod 0666, $cfile;
       $cnt=<AAA>;
       chomp $cnt;                     
       flock AAA,8;
       close AAA;
       $cnt2=$cnt+1;
       open AAA, ">$cfile";
       flock AAA,2;
       print AAA "$cnt2\n";
       flock AAA,8;
       close AAA;
}

sub job2{

    local @zz=@_;

    local $ttle=$zz[0];

    local $textt=join"\n",@zz[1 .. $ww];

          @ttlea=split/\#/,$ttle;


$index=0;
foreach (@ttlea){

     $_=~s/\n|\s//g;

     $_=~s/^.*?(\d\d\d\d\/)/\1/;

     @ooi=split/\)/,$_;

     $ooi[0]=$ooi[0].')';
     $ooi[0]=~s/\(.*?\)//;

     $o1=$ooi[1].'#'."$index";
     
     $fff{$o1}=$o0;
     $hhh{$ooi[1]}=$o1;

++$index;
}


open AAA, "./wwwboard.dat";
$index=0;
while (<AAA>){
     $ik[$index]=$_;
     ++$index;
}
close AAA;

$ik=join'',@ik;
$ik=~s/\n//g;
$ik=~s/(\))\s*(\d\d\:\d\d)/\1\2/g;
$ik=~s/(<HR>)/\1###`/g;
@ika=split/\#\#\#\`/,$ik;



foreach $iko (@ika){

  $iko=~s/(\))\s*(\d\d\:\d\d)/\1\2/g;

  if (@ggg=grep($_=~s/\#\d$// && $iko=~/$_/ &&  $iko=~/$fff{$hhh{$_}}/ ? 1:0 , keys %fff)){
        $iko='';

}

}

$kik=@ika;

@ika=@ika[0 .. 25];

@ika=grep($_ eq '' ? 0:1, @ika);



open AAA, ">./wwwboard.dat";
print AAA @ika;
close AAA;

open AAA, ">./wwwboard.tmp";
print AAA @ika;
close AAA;

open AAA, "./wwwboard.dat";
while(<AAA>){
        $_=~s/\&amp\;\#8212\;/\- /g;
        $_=~s/\&amp\;shy\;/\-/g;
   print;
}

#<TABLE><TR><TD><FONT COLOR="#FF0000">tomii</FONT> 2003/12/14(日) 12:56</TD></TR></TABLE><HR>

}

sub job {
    local @zz=@_;
    local $ww=@zz;
    local $ttle=$zz[0];
    local $textt=join"\n",@zz[1 .. $ww];



if ($ttle eq '' or $ttle =~ /^\n$/ or $ttle =~ /^<br>$/ or $ttle=~/<.*>/ or $ttle=~/(\&lt\;).*(\&gt\;)/){

    print "<br><br><center>No title</center>"; exit;

}

#@rrr=split/2003\//,$textt;
#print $dod=substr $rrr[1], 0, 5;
#@ppo=split/\//,$dod;

unless ($tomi3){
    open AAA, "../QAE/$QAE2";
}
    $index=0;
    while (<AAA>){
       $Ccc[$index]=$_;
       ++$index;
}

      $Ccc=join'',@Ccc;
      $Ccc=~s/\#Kuromaru\#/・/;
      $Ccc  =~ s/\&\#22323\;/?/g;
                 $Ccc  =~ s/(tak0719\.)hp(\.infoseek)/\1web\2/g;

$tnm=$ttle;

srand(time ^ ($$ + ($$ << 15)));
$salt=int(rand(99));
$salt=substr $salt,0,2;
$tnm=crypt $tnm, $salt;
$salt=$salt + 2;
$tnm=crypt $tnm, $salt;
$nm9=int(rand (99));
$nm9=substr $nm9,3,2;
$tnm=substr $tnm,$nm9,8;
$tnm=~s/[\.\-]//g;
$tnm=~s/\//\l/g;

$tim=time;

$tim=substr $tim,-5;

$tnm="$tnm"."$tim";
@tnm=split//, $tnm;
@tnm=reverse @tnm;
$tnm=join'',@tnm;
$tnm=$tnm.$tim;

srand(time ^ ($$ + ($$ << 15)));
$salt=int(rand(99));
$salt=substr $salt,0,2;
$tnm=crypt $tnm, $salt;
$tnm=~s/[\.\-]//g;
$tnm=~s/\//\l/g;
$tnm=$tnm.$tim;


@files = <../QAE/*>;

    foreach (@files){
      $_=~s/\.\.\/QAE\///;
      $_=~s/\.htm$//;
} 

if(grep ($_ eq $tnm ? 1:0, @files)){

  $tnm=$tnm.$tnm;
    

}

       open FFF, ">../QAE/$tnm.htm";
       &txt;       
       $tabletext=~s/#title#/$ttle/g;
       $tabletext=~s/#Kuromaru#/\・/g;
       $tabletext=~s/\&amp\;\#8212\;/\-/g;
       $tabletext=~s/\&amp\;shy\;/\-/g;
       $tabletext  =~ s/\&amp\;middot\;/・/;
       $tabletext  =~ s/\&middot\;/・/;
       $tabletext  =~ s/\&\#65279\;//g;
       $tabletext  =~ s/#ondo#/o/g;
       $tabletext  =~ s/\&\#22323\;/?/g;
                 $tabletext  =~ s/(tak0719\.)hp(\.infoseek)/\1web\2/g;


#       $tabletext=~s/(\"\>http\:\/\/.{10}).*(<\/a>)/\1\.\.\.\2/g;
       $textt3=$textt2=$textt;
       $textt3=~s/((<|&lt;)blockquote(>|&gt;))/\1\n\-\-\-\-\-\-\-Quote\-\-\-\-\-\-\-\n/gi;
$textt3=~s/((<|&lt;)\/blockquote(>|&gt;))/\1\n\-\-\-\-\-\-\-Unquote\-\-\-\-\-\-\-\n/gi;

       $textt=~s/\n/<br>/g;
       $tabletext=~s/#text#/$textt/;
       $year2=$year-100;
#       $month=$ppo[0];
#       $day=$ppo[1];
       $tabletext=~s/#time#/20$year2年$month月$day日/;
       $tabletext=~s/\n//g;


                $textt2=~ s/(http:\/\/)([\w\/\.\~\_\?\-\=\&\#\;\.\,\%\+\:]*)/<a href="\1#\2">\1#\2<\/a>/g;
                $textt2=~ s/(http:\/\/)#/\1/g;
                $textt2 =~ s/\#Kuromaru\#/\・/g;####2006225
                $textt2 =~s/\&amp\;\#8212\;/\-/g;
                $textt2 =~s/\&amp\;shy\;/\-/g;
                $textt2  =~ s/\&amp\;middot\;/・/;
                $textt2  =~ s/\&middot\;/・/;
                $textt2  =~ s/\&\#65279\;//g;  
                $textt2  =~ s/\&\#22323\;/?/g;
                 $textt2  =~ s/(tak0719\.)hp(\.infoseek)/\1web\2/g;

#               $textt2=~s/(\"\>http\:\/\/.{10}).*(<\/a>)/\1\.\.\.\2/g;

&pip;



                $tabletext=~ s/(http:\/\/)([\w\/\.\~\_\?\-\=\&\#\;\.\,\%\+\:]*)/<a href="\1#\2">\1#\2<\/a>/g;
                $tabletext=~ s/(http:\/\/)#/\1/g;

 $tabletext=~ s/(&lt;)(\/*)(blockquote)(&gt;)/<\2\3>/g;
 $tabletext=~ s/<\/blockquote>\s*<br>\s*<br>/<\/blockquote><br>/g;
 $tabletext=~ s/(<\/blockquote>\s*)(<br>)(\s*<blockquote>)/\2\2/g;

 $tabletext=~ s/(<blockquote>)\s*(.*?)\s*(<\/blockquote>)/\1<FONT FACE="ＭＳ ゴシック" LANG="JA">\2<\/font>\3/g;





$tabletext=~s/(http:)#(\/\/www\.path\.ne\.jp\/~millnm\/home\.html)/\1\2/;

$tabletext=~s/[^(&lt;)]tomi[^(&gt;)]\s20\d\d\/\d+\/\d+\(.+\)\s.+?\d\d//; 

$kiki='<IMG HEIGHT=32 WIDTH=32 SRC="http://www.path.ne.jp/~robcorp/cgi-bin/bbs.cgi" BORDER=0><a href="mailto:millnm@path.ne.jp"><i>millnm@path.ne.jp</i></a>';

$tabletext=~s/(<\/body>)/$kiki\1/i; 
$tabletext =~ s/\#Kuromaru\#/\・/g;####2006225
$tabletext =~s/\&amp\;\#8212\;/\-/g;
$tabletext=~s/\&amp\;shy\;/\-/g;
$tabletext  =~ s/\&amp\;middot\;/・/;
$tabletext  =~ s/\&middot\;/・/;
$tabletext  =~ s/\&\#65279\;//g;  
$tabletext  =~ s/\&\#22323\;/?/g;
                 $tabletext  =~ s/(tak0719\.)hp(\.infoseek)/\1web\2/g;

#$tabletext=~s/(\"\>http\:\/\/.{10}).*(<\/a>)/\1\.\.\.\2/g;
       print FFF $tabletext;
       close FFF;



       $table=<<"LLL";

<DT><A HREF="http://tak0719.web.infoseek.co.jp/$qanda/$tnm.htm">$ttle</A><br></DT><!split></P>

LLL

      @ef=split/<!split><\/P>/,$Ccc;

       $Ccc=$ef[0]."$table".$ef[1];

       open AAA, ">../QAE/$QAE2";
       print AAA $Ccc;
       close AAA;

}






sub txt{
$tabletext=<<"TTX";
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis"><TITLE>#title#</TITLE></HEAD><BODY LINK="#0000ff" VLINK="#800080" BGCOLOR="#eaeaea"><FONT FACE="ＭＳ 明朝" LANG="JA"><P ALIGN="CENTER">　</P></FONT><B><FONT FACE="ＭＳ 明朝" LANG="JA" SIZE=4><P ALIGN="CENTER">#title#</FONT><FONT FACE="Century" SIZE=4> </P></B></FONT><FONT FACE="ＭＳ 明朝" LANG="JA"><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY">
#text#</P><P ALIGN="JUSTIFY">　</P><P ALIGN="RIGHT">　</P></FONT><FONT FACE="Century"><P ALIGN="RIGHT">#time#</P></FONT><FONT FACE="ＭＳ 明朝" LANG="JA"><P ALIGN="RIGHT">　</P><P ALIGN="RIGHT">　</FONT><A  HREF="http:#//www.path.ne.jp/~millnm/home.html"><B><FONT FACE="ＭＳ 明朝" LANG="JA">ホーム</B></FONT></A></P><FONT FACE="ＭＳ 明朝" LANG="JA"><P ALIGN="RIGHT">　</P></FONT><br><br>



</BODY></HTML>

TTX

}

sub pip {

require 'addresslist.pl';
$mosia='申し上げます';
&alist;


$yubin="本誌へのご意見、ご感想は、投稿者氏名等の個人情報を伏せたうえで、本誌上で紹介させて頂くことがございます。あらかじめご了承下さるようお願い$mosia。\n本メールマガジンは筆者(富井　健)により皆様のサポートにより運営されております。\nバックナンバー、内容紹介は、こちら↓をご利用ください。\n\n
http://www.path.ne.jp/~millnm/home.html
\n\n
========================\n\n
銀行振込口座　みずほ銀行　高田馬場支店　普1383128　トミイ　タケシ\n
郵便貯金口座　記号10320　番号46958981　トミイ　タケシ\n\n";



foreach ($ttle,$textt2,$textt3){

   $_=~ s/(&lt;)(\/*)(blockquote)(&gt;)//g;
   $_=~s/&lt;/</g;
   $_=~s/&gt;/>/g;
   $_=~s/&quot;/"/g;
   $_=~s/&amp;/\&/g;

}


#@adresslist=('millnm@path.ne.jp');
$year=$year-100;
$localtime3="20$year年$month月$day日$hour時$min分$sec秒";
&jcode::convert(*localtime3, 'jis');

foreach $mailad (@adresslist){
 unless ($tomi3 == 1){
    open MAIL,"|$sendmail $mailad";
}
print MAIL <<EOF;
To: $mailad
From: millnm\@path.ne.jp
Subject: Millennium news letter $localtime3

ニュースの内容は下記をクリック：

http://www.path.ne.jp/~robcorp/QAE/$tnm.htm

上記が開かない場合は：

http://tak0719.web.infoseek.co.jp/qanda3/$tnm.htm


----------------------------
お問い合わせは、millnm\@path.ne.jp まで。


$yubin

なお、郵便局の口座にお振込みをなさった方は、その旨をご一報くだされば幸いでございます。

EOF


}
}
if ($remote eq '219.214.195.127'){
   $aaw=keys %BAN;
   print "<font color =red>$aaw:<\/font> Banned IP:"; print $jjoin;
}




__END__


#, ‘名古屋’,‘61.193.251.87’, ‘東京’, ‘61.119.162.78’, ‘名古屋’, ‘61.114.193.34’, ‘東京’, ‘60.42.221.84’, ‘日本’, ‘60.42.17.84’, ‘日本’, ‘60.238.140.4’, ‘Misato’, ‘59.190.62.96’, ‘奈良’, ‘59.190.62.3’, ‘奈良’, ‘59.146.195.53’, ‘大阪’, ‘59.141.47.210’, ‘市川’, ‘59.106.88.246’, ‘佐倉’, ‘58.90.105.84’, ‘倉敷’, ‘58.70.20.19’, ‘大津’, ‘58.3.150.160’, ‘熊本’, ‘4.232.171.164’, ‘ｶﾘﾌｫﾙﾆｱﾀﾞｳﾆｰ’, ‘222.7.73.211’, ‘船橋’, ‘222.230.86.152’, ‘横浜’, ‘222.230.130.111’, ‘横浜’, ‘222.2.99.116’, ‘東京’, ‘222.15.92.182’, ‘藤沢’, ‘221.81.250.88’, ‘Hyogo’, ‘221.65.235.160’, ‘福岡’, ‘221.60.70.148’, ‘栃木大田原’, ‘221.34.236.134’, ‘長野飯田’, ‘221.188.249.47’, ‘京都’, ‘221.119.19.103’, ‘神戸’, ‘221.108.17.253’, ‘東京’, ‘220.98.211.241’, ‘大阪’, ‘220.55.22.87’, ‘久留米’, ‘220.4.164.6’, ‘足利’, ‘220.255.7.199’, ‘ｼﾝｶﾞﾎﾟｰﾙ’, ‘220.146.199.231’, ‘浜松’, ‘220.145.234.224’, ‘いわき’

,‘61.197.218.212’,‘東京’
