50){$limit=50;} /* 表示は30件 */ while($j<$limit){ $i=0;while($i<50){$tok[$i]="";$i++;}; /*リセット*/ $i=0; $tok[$i] = strtok($lines[$j],"#"); $f=$format; while($i<15){$i++;$tok[$i] = strtok("#");} echo"
"; /*$len=strlen($lines[$j]);echo"length:$len
\n";*/ echo"名 前:$tok[0]
\n"; if($tok[1]!=""){echo"メール:$tok[1]
\n";} if($tok[2]!=""){echo"ページ:$tok[2]
\n";} echo"日 時:$tok[5] $tok[6]
\n"; if($cnf[7]=="on"){echo"ホスト:$tok[4]
\n";} $tok[3]=ERegi_replace("\$r","
",$tok[3]); echo"
$tok[3]

\n"; $j++; } ); /* ホストのチェックを行い,アクセスを拒否する */ function reject_host( global $cnf; $rcode=0; $reject=$cnf[6]; $tok = strtok($reject,","); while($tok); if(ereg($tok,$REMOTE_HOST)){$rcode=1;} $tok = strtok(","); endwhile; return($rcode); ); /* 書き込みを行う */ function add( global $name,$mail,$url,$word; if($word && ereg($PHP_SELF,$HTTP_REFERER)){ $lines=File("log.dat"); /* 連続書き込み対策!リリース時に必ずもとに戻すこと! */ if(ereg($REMOTE_HOST,$lines[0])&&ereg(Date("H:i"),$lines[0])){;} /*if(ereg($REMOTE_HOST,$lines[0])&&ereg(Date("H:i:s"),$lines[0])){;}*/ else{ $out=fopen("log.dat","wt"); $date=Date("y/m/d"); $time=Date("H:i:s"); /* 0 1 2 3 4 */ fputs($out,"$name#$mail#$url#$word#$REMOTE_HOST#"); fputs($out,"$date#$time#$HTTP_X_FORWARDED_FOR\n"); /* 100行まで保存,それ以上は捨てる */ $limit=count($lines); if($limt>100){$limit=100;} /* 保存は100件 */ $i=0; while($i<$limit){ $an=strlen($lines[$i]); /*echo"length=$an
";*/ if($an>10){ /* 改行コード倍増防止 */ fputs($out,"$lines[$i]\n"); }  $i++; } fclose($out); } } ); /* ディスクからデータを読んで表示する */ function read_dat $name( global $hdlcookie; $data=File("$name"); $i=0; while($data[$i]){ $data[$i]=ERegi_replace("#cookie","value=\"$hdlcookie\"",$data[$i]); echo "$data[$i]\n"; $i++; } ); /* タグチェックを行う */ function reject_tag( global $gW,$cnf; $w=" $gW"; /* 先頭に空白を追加*/ $rcode=0; if(ERegi("on", $cnf[8])==1 && EReg(60, $gW) == 1){return(2);} /*タグ禁止*/ if(ERegi("on", $cnf[8])!=1 && EReg(60, $gW) == 1){ /*タグ許可*/ $w=ERegi_replace(47,"",$gW); $cnt=0; /* 先頭の空白をスキップ */ $tok = strtok($w,60); $tok = strtok(60); while($tok){ $key=substr($tok, 0, 2); switch($key) { case "fo"; $rcode=0; break; case "a "; $rcode=0; break; case "a>"; $rcode=0; break; case "im"; $rcode=0; break; default; $rcode=1; break; } /*echo"$cnt = $key($rcode)
";*/ if($rcode==1){return(1);} /*ここで返す*/ $tok = strtok(60); $cnt++; } /*echo"rc=$rcode
\n";*/ } return($rcode); /* ハンドルにタグを使われるとここまで来ない */ ); /* 文字のチェック */ function reject_word $word( if(ERegi(10, $word) == 1){return(1);} if(ERegi(13, $word) == 1){return(1);} if(ERegi("cgi", $word) == 1){return(1);} if(ERegi(35, $word) == 1){return(1);} return(0); ); > 1000){$mode=3;$err="書き込みが長すぎます";} if(reject_host()!=0){$mode=3;$err="ご使用のホストは制限対象となっています";} $word=EReg_replace(10, "", $word); $word=EReg_replace(13, "\$r", $word); $mix="$word$name$mail$url"; if(reject_word($mix)==1){$mode=3;$err="使用できない文字が含まれています";} if($mode!=3 && $funct!=""){ if(($name=="") || ($word=="")){$mode=3;$err="必要な項目が記入されていません";} else{if(ereg($PHP_SELF,$HTTP_REFERER)){add();$mode=2;}} } } > InteractiA Note background="" >
[戻る] InteractiA Note 0.00[設定]


InteractiA Note ">