Tadashi Okoshi
slash****@users*****
2005年 6月 21日 (火) 17:45:25 JST
Index: affelio/lib/Affelio/misc/Debug.pm diff -u affelio/lib/Affelio/misc/Debug.pm:1.1.1.1 affelio/lib/Affelio/misc/Debug.pm:1.2 --- affelio/lib/Affelio/misc/Debug.pm:1.1.1.1 Tue Jun 14 12:53:29 2005 +++ affelio/lib/Affelio/misc/Debug.pm Tue Jun 21 17:45:25 2005 @@ -7,7 +7,7 @@ # http://affelio.jp/ (Japan) # http://affelio.jp/ (USA and other area) # -# $Id: Debug.pm,v 1.1.1.1 2005/06/14 03:53:29 slash5234 Exp $ +# $Id: Debug.pm,v 1.2 2005/06/21 08:45:25 slash5234 Exp $ package Affelio::misc::Debug; { @@ -22,14 +22,19 @@ $msg .= "\n"; if($msg){ my $filename=""; - $filename = $ENV{'SCRIPT_NAME'}; + + #SECURITY |;" + $ENV{'SCRIPT_NAME'} =~ /([^\|\;\"]*)/; + $filename = $1; + $filename =~ s/\//\_/g; $filename =~ s/^\_//g; $filename =~ s/\~//g; $filename =~ s/\_bin\_.*//g; $filename =~ s/\_[a-zA-Z]*\.cgi$//g; open(OUT, ">> /tmp/af_$filename"); - print OUT "$$: $msg"; + + print OUT "$$: ", $msg; close(OUT); } } Index: affelio/lib/Affelio/misc/WebInput.pm diff -u affelio/lib/Affelio/misc/WebInput.pm:1.1.1.1 affelio/lib/Affelio/misc/WebInput.pm:1.2 --- affelio/lib/Affelio/misc/WebInput.pm:1.1.1.1 Tue Jun 14 12:53:29 2005 +++ affelio/lib/Affelio/misc/WebInput.pm Tue Jun 21 17:45:25 2005 @@ -7,18 +7,103 @@ # http://affelio.jp/ (Japan) # http://affelio.jp/ (USA and other area) # -# $Id: WebInput.pm,v 1.1.1.1 2005/06/14 03:53:29 slash5234 Exp $ +# $Id: WebInput.pm,v 1.2 2005/06/21 08:45:25 slash5234 Exp $ + package Affelio::misc::WebInput; { - use Exporter; - @Affelio::misc::WebInput::ISA = "Exporter"; - @Affelio::misc::WebInput::EXPORT = qw (check_param delete_HTML escape_HTML distill_URL); - - use lib("../../"); + use lib("../../../lib/"); use Affelio::exception::TaintedInputException; + use Affelio::misc::Debug qw(debug_print); + + ###################################################################### + sub new{ + my $class = shift; + my %param = @_; + + my $self = {locale => "ja"}; + bless $self, $class; + + return($self); + } + + ###################################################################### + sub PTN_visitor_type{ + my $self = shift; + my $in = shift; + + $in =~ /([A-Za-z0-9]*)/; + return ($1); + } + + ###################################################################### + sub PTN_num{ + my $self = shift; + my $in = shift; + + $in =~ /(\d+)/; + return ($1); + } + + + ###################################################################### + sub PTN_nickname{ + my $self = shift; + my $in = shift; + + $in =~ /([A-Za-z0-9\-\_]*)/; + return ($1); + } + + ###################################################################### + sub PTN_word{ + my $self = shift; + my $in = shift; + + $in =~ /([A-Za-z0-9\-\_\.]*)/; + return ($1); + } + + ###################################################################### + sub PTN_mode{ + my $self = shift; + my $in = shift; + + $in =~ /([A-Za-z0-9\-\_]*)/; + return ($1); + } + + ###################################################################### + sub PTN_basefilename{ + my $self = shift; + my $in = shift; + $in =~ /([A-Za-z0-9\-\_]+\.[A-Za-z0-9]+)/; +# debug_print("==============$1"); + return ($1); + } + + ###################################################################### + sub PTN_jpg_filename{ + my $self = shift; + my $in = shift; + $in =~ /([A-Za-z0-9\-\_]*\.(jpg)|(JPG)|(JPEG)|(jpeg))/; +# debug_print("==============$1"); + return ($1); + } - sub check_param{ + ###################################################################### + sub PTN_dirname{ + my $self = shift; + my $in = shift; + $in =~ /([A-Za-z0-9\-\_\.\/\s]*)/; +# debug_print("==============$1"); + return ($1); + } + + + + ###################################################################### + sub PTN{ my $in = shift; if($in ne ""){ @@ -30,6 +115,17 @@ } } + ###################################################################### + sub PTN_URL{ + my $self = shift; + my $in = shift; + + my @http = $in =~ /s?https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+/g;#' + return($http[0]); + } + + + ###################################################################### sub distill_URL{ my $text = shift; my @http = $text =~ /s?https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+/g; @@ -37,11 +133,12 @@ return($http[0]); } - + ###################################################################### sub escape_HTML{ } + ###################################################################### sub escape_filename { my $forbedden = '\\\/\*\?\|"<>:,;% '; my ($filename) = @_; @@ -49,6 +146,7 @@ return $filename; } + ###################################################################### sub delete_HTML{ my $str = shift; my $text_regex = q{[^<]*};