PyukiWiki CVS Commit
pyuki****@lists*****
2012年 2月 26日 (日) 14:32:33 JST
Index: PyukiWiki-Devel/lib/wiki.cgi diff -u PyukiWiki-Devel/lib/wiki.cgi:1.670 PyukiWiki-Devel/lib/wiki.cgi:1.671 --- PyukiWiki-Devel/lib/wiki.cgi:1.670 Sun Feb 26 14:16:51 2012 +++ PyukiWiki-Devel/lib/wiki.cgi Sun Feb 26 14:32:33 2012 @@ -1,6 +1,6 @@ ###################################################################### # wiki.cgi - This is PyukiWiki, yet another Wiki clone. -# $Id: wiki.cgi,v 1.670 2012/02/26 05:16:51 papu Exp $ +# $Id: wiki.cgi,v 1.671 2012/02/26 05:32:33 papu Exp $ # # "PyukiWiki" version 0.2.0-p2-preview4 $$ # Copyright (C) 2004-2012 Nekyo @@ -1799,16 +1799,18 @@ if ($::deny_log) { &getremotehost; open $fp, ">>$::deny_log"; - print $fp "<<" . $title . ' ' . date("Y-m-d H:i:s") . ">>\n"; - print $fp "HTTP_USER_AGENT:" . $::ENV{'HTTP_USER_AGENT'} . "\n"; - print $fp "HTTP_REFERER:" . $::ENV{'HTTP_REFERER'} . "\n"; - print $fp "REMOTE_ADDR:" . $::ENV{'REMOTE_ADDR'} . "\n"; - print $fp "REMOTE_HOST:" . $::ENV{'REMOTE_HOST'} . "\n"; - print $fp "REMOTE_IDENT:" . $::ENV{'REMOTE_IDENT'} . "\n"; - print $fp "HTTP_ACCEPT_LANGUAGE:" . $::ENV{'HTTP_ACCEPT_LANGUAGE'} . "\n"; - print $fp "HTTP_ACCEPT:" . $::ENV{'HTTP_ACCEPT'} . "\n"; - print $fp "HTTP_HOST:" . $::ENV{'HTTP_HOST'} . "\n"; - print $fp "\n"; + print $fp <<EOM; +<<$title @{[date("Y-m-d H:i:s")]}>> +HTTP_USER_AGENT:$::ENV{'HTTP_USER_AGENT'} +HTTP_REFERER:$::ENV{'HTTP_REFERER'} +REMOTE_ADDR:$::ENV{'REMOTE_ADDR'} +REMOTE_HOST:$::ENV{'REMOTE_HOST'} +REMOTE_IDENT:$::ENV{'REMOTE_IDENT'} +HTTP_ACCEPT_LANGUAGE:$::ENV{'HTTP_ACCEPT_LANGUAGE'} +HTTP_ACCEPT:$::ENV{'HTTP_ACCEPT'} +HTTP_HOST:$::ENV{'HTTP_HOST'} + +EOM close $fp; } if ($::filter_flg == 1) { @@ -1836,7 +1838,7 @@ =item 入力値 -&spam_filter(なし 文字列指定, レベル); +&spam_filter(なし 文字列指定, レベル, URIカウント, メールカウント); レベル @@ -1863,7 +1865,7 @@ =cut sub spam_filter { - my ($chk_str, $level, $uricount) = @_; + my ($chk_str, $level, $uricount, $mailcount) = @_; return if ($::filter_flg != 1); # フィルターオフなら何もしない。 # comment return if ($chk_str eq ''); # 文字列が無ければ何もしない。 # comment # v 0.2.0 fix # comment @@ -1871,10 +1873,13 @@ my $chk_jp_regex=$::chk_jp_hiragana ? '[あ-んア-ン]' : '[\x8E\xA1-\xFE]'; # レベル 2 を除きOver Httpチェックを行う。 # comment # changed by nanami and v 0.2.0-p2 fix - if (($level ne 1) && ($::chk_uri_count > 0) && (($chk_str =~ s/https?:\/\///g) >= $::chk_uri_count)) { + if (($level ne 1) && ($::chk_uri_count+0 > 0) && (($chk_str =~ s/https?:\/\///g) >= $::chk_uri_count)) { &snapshot('Over http'); - } elsif (($level ne 1) && ($uricount > 0) && (($chk_str =~ s/https?:\/\///g) >= $uricount)) { + } elsif (($level ne 1) && ($uricount+0 > 0) && (($chk_str =~ s/https?:\/\///g) >= $uricount)) { &snapshot('Over http'); + # Over Mailチェックを行う。 + } elsif (($level ne 1) && ($mailcount+0 > 0) && (($chk_str =~ s/$::ismail///g) >= $uricount)) { + &snapshot('Over mail'); # レベルが 1 の時のみ 日本語チェックを行う。 # comment # changed by nanami and v 0.2.0 fix } elsif (($level >= 1) && ($::chk_jp_only == 1) && ($chk_str !~ /$chk_jp_regex/)) {