#!/usr/bin/perl use Jcode; require 'petit-ini.cgi'; require 'petit-lib.pl'; &axsCheck; require 'cgi-lib.pl'; ReadParse(*form); $cgipath="entry.cgi"; $buffer = $ENV{'QUERY_STRING'}; ($ent_id,$ent_url) = split(/\&/,$buffer); $mode = $form{'mode'}; $id = $form{'id'}; $ent = $form{'ent'}; if($ent_id){$ID ="$ent_id";} else{$ID = "$id";} if($ent_url){$ENT_URL ="$ent_url";} else{$ENT_URL = "$ent";} $lockfile = './lock/petit.lock'; if($mode eq "regist"){®ist;} else{&comment;} sub comment{ local($Name,$Mail,$Url) = &get_cookie; &lock; open (IN,"log/$ID.dat"); @log_data = ; close IN; &unlock; $style_data = "$URLdata"."entry-style.dat"; print "Content-type: text/html\n\n"; print <<"HTML"; document.write(''); document.write('
'); document.write('
'); document.write('
$title
'); document.write('
'); HTML if(@log_data){ if($sort_d){@log_data = reverse @log_data;} foreach $dat(@log_data){ $dat =~ s/\r//; $dat =~ s/\n//; Jcode::convert(\$dat, $text_enc); @line = split(/<>/,$dat); $mail_pic = $URLdata."images/mail1.png"; $mail_pic2 = $URLdata."images/mail2.png"; $site_pic = $URLdata."images/site1.png"; $site_pic2 = $URLdata."images/site2.png"; $mailto = "mailto:" . $line[2]; $siteto = "$line[3]"; if($line[2]){ $mail_d = ""; }else{ $mail_d = ""; } if($line[3]){ $www = ""; }else{ $www = ""; } $time_zone = $line[5] ; %TD=&get_date(0,$time_zone); $time_num="$TD{year}/$TD{mon}/$TD{day} $TD{hour}:$TD{min}"; print <<"HTML"; document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write('
$mark$line[1]
$line[4]
$time_num'); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write('
$mail_d$www
'); HTML } } $del_path = $URLdata ."delete.cgi"; $cgi_path = $URLdata ."$cgipath"; $login = $URLdata."images/login.png"; $post = $URLdata."images/post.png"; $reload = $URLdata."images/reload.png"; print <<"HTML"; document.write('
'); document.write('
'); document.write('
'); document.write('
'); document.write('
'); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write('
Name
'); document.write('
Mail
'); document.write('
Site
'); document.write('
Message
'); document.write(' '); document.write(''); document.write(''); document.write(''); document.write('
'); document.write('
'); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write('
'); document.write('
'); document.write('
'); document.write('
'); HTML }#end_comment sub regist{ if ($form{'a4'} !~ /[\x8E\xA1-\xFE]/) { &error("日本語じゃないとだめだよ。Japanese only: denied."); } #カンマ区切りで追加してください。""ダブルクオーテーションがいります。 @ng_word = ("casino","poker","online","gambl","roulette","pussy","anal","sex","nudist","naked","game","tits","href"); foreach $word(@ng_word){ if ($form{'a4'} =~ /$word/) { error("NGワードを含でるよ。contains NG word : denied."); } } if(!$form{'a1'}){&error("name縺瑚ィ伜・縺輔l縺ヲ縺縺セ縺帙s縲");} if(!$form{'a4'}){&error("message縺瑚ィ伜・縺輔l縺ヲ縺縺セ縺帙s縲");} if (length($form{'a4'}) > 1000) { &error("謚慕ィソ譁蜒玲焚繧ェ繝シ繝舌シ縺ァ縺吶"); } $reffer = $form{'reffer'}; &lock; open (IN,"log/$ID.dat"); @log_data = ; close IN; $cnt = @log_data; $cnt ++; @keys = keys %form; sub bykeys {$a cmp $b}; @keys = sort bykeys @keys; foreach (@keys){ $form{$_} =~ s/&/&/g; $form{$_} =~ s//>/g; $form{$_} =~ s/\"/"/g; $form{$_} =~ s/\'/’/g; $form{$_} =~ s/\r\n/
/g; $form{$_} =~ s/\r/
/g; $form{$_} =~ s/\n/
/g; $form{$_} =~ s/\\/\\\\/ig; Jcode::convert($form{$_}, $text_enc); push @form_dat , $form{$_}; } $time_d = time; $IP = $ENV{'REMOTE_ADDR'}; $com_id = "$ID"."_$cnt"; &set_cookie($form_dat[0],$form_dat[1],$form_dat[2]); $URL_LK_mail = $form_dat[3]; &auto_link($form_dat[3]); $log_data = "$com_id<>$form_dat[0]<>$form_dat[1]<>$form_dat[2]<>$form_dat[3]<>$time_d<>$IP\n"; @log_line = split(/<>/,$log_data[0]); if( $log_line[1] eq $form_dat[0] and $log_line[4] eq $form_dat[3]){&error("莠碁肴兜辜Bソ縺ァ縺吶");} unshift (@log_data, $log_data); open (OUT,">log/$ID.dat") || &error("log繝輔か繝ォ繝縺ョ繝代シ繝溘ャ繧キ繝ァ繝ウ繧堤「コ隱阪@縺ヲ荳九&縺縲"); print OUT @log_data; close OUT; chmod(0666,"log/$ID.dat"); open (IN,"log/petit-recent.dat"); @recent_data = ; close IN; if(@recent_data >= $recent_log ){$#recent_data = ($recent_log -2);} $recent_data = "$com_id<>$form_dat[0]<>$ENT_URL<>$ID<>$time_d<>$IP<>$form_dat[2]\n"; open (OUT,">log/petit-recent.dat") || &error("log繝輔か繝ォ繝縺ョ繝代シ繝溘ャ繧キ繝ァ繝ウ繧堤「コ隱阪@縺ヲ荳九&縺縲"); print OUT $recent_data; foreach(@recent_data ){print OUT $_;} close OUT; chmod(0666,"log/petit-recent.dat"); &unlock; $timer = time; &header; print <<"HTML"; HTML &footer; if($ToMailadd){&mail;} }#end_regist sub OK{ &header; print <<"HTML";
$title
譖ク縺崎セシ縺ソ螳御コ縺励<Z縺励◆シ

繧ウ繝。繝ウ繝医r隕九k
HTML &footer } ##---繝。繝シ繝ォ sub mail { #=====================繝。繝シ繝ォ蜃ヲ逅=============================================== require 'mimew.pl'; %TD=&get_date(0,$line[5]); $time_num="$TD{year}/$TD{mon}/$TD{day} $TD{hour}:$TD{min}"; $entry_url = "$server_d"."$ENT_URL/"."$ID/"; $com_url = "$URLdata"."a.cgi?"."$ID"."&"."$ENT_URL"; # 騾∽ソ。縺吶k繝。繝シ繝ォ縺ョ譛ャ譁繧剃ス懈 foreach $dat(@form_dat,$URL_LK_mail){ $dat =~ s/&/&/g; $dat =~ s/<//g; $dat =~ s/"/\"/g; $dat =~ s/
/\n/g; $dat =~ s/’/\'/g; } #+++++++++++++++++++++++++++邂。逅艫Rコ逕ィ繝。繝シ繝ォ+++++++++++++++++++ $mailmess_a = <<"EOL"; 繧ウ繝。繝ウ繝医′縺、縺阪∪縺励◆シ ------------------Comment---------------------- $form_dat[0] $URL_LK_mail $time_num ----------------------------------------------------- ------------------User Info----------------------- Mail --シ$form_dat[1] URL --シ$form_dat[2] IP -----シ$IP ----------------------------------------------------- 繧ウ繝。繝ウ繝医壹ャV繧ク繧定ヲ九kシ $com_url 縺薙ョ繧ウ繝。繝ウ繝医ョ繧ィ繝ウ繝医Μ繧定ヲ九kシ $entry_url EOL #++++++++++++++++++++++++++++++++++++++++++++++++++++++ ############################## #繝。繝シ繝ォ繧帝∽ソ。縺吶k縲 $Subject_a = jcode($Subject_a)->mime_encode; $mailmess_a = jcode($mailmess_a)->jis; #邂。逅艫Rコ逕ィ繧帝∽ソ。 open SMTP,"| $SendmailCmnd"|| &error("繝。繝シ繝ォ騾∽ソ。縺ォ螟ア謨励@縺セ縺励◆縲"); #sendmail繧ウ繝槭Φ繝峨∈繝繝シ繧ソ繧呈ク。縺 print SMTP <<"EOL"; From: $mail_from<$ToMailadd > To: $ToMailadd Subject: $Subject_a Return-Path:$ToMailadd Content-Type: text/plain; charset=iso-2022-jp $mailmess_a EOL close SMTP; } __END__