io_taint.t

来自「source of perl for linux application,」· T 代码 · 共 47 行

T
47
字号
#!./perl -TBEGIN {    unless(grep /blib/, @INC) {	chdir 't' if -d 't';	@INC = '../lib';    }}use Config;BEGIN {    if ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bIO\b/ && $^O ne 'VMS') {	print "1..0\n";	exit 0;    }}END { unlink "./__taint__$$" }print "1..3\n";use IO::File;$x = new IO::File "> ./__taint__$$" || die("Cannot open ./__taint__$$\n");print $x "$$\n";$x->close;$x = new IO::File "< ./__taint__$$" || die("Cannot open ./__taint__$$\n");chop($unsafe = <$x>);eval { kill 0 * $unsafe };print "not " if ((($^O ne 'MSWin32') && ($^O ne 'NetWare')) and ($@ !~ /^Insecure/o));print "ok 1\n";$x->close;# We could have just done a seek on $x, but technically we haven't tested# seek yet...$x = new IO::File "< ./__taint__$$" || die("Cannot open ./__taint__$$\n");$x->untaint;print "not " if ($?);print "ok 2\n"; # Calling the method workedchop($unsafe = <$x>);eval { kill 0 * $unsafe };print "not " if ($@ =~ /^Insecure/o);print "ok 3\n"; # No Insecure message from using the data$x->close;exit 0;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?