Untainting问题:Strawberry Perl vs ActivePerl

时间:2015-05-08 21:00:33

标签: regex perl strawberry-perl taint

我的脚本曾经与ActivePerl 5.20一起使用,但自从我改用Strawberry Perl 5.20后,我遇到了问题。

脚本打开了污点,它做了一件非常简单的事情。

它取消了文件字段,如下所示:

$tainted_file = param('file');
$tainted_file =~ /(.*)/;
$sanitised_file = $1;

open (FILE,">image_on_server.jpg");    
   binmode FILE; 
   while (sysread ($sanitised_file,$buffer,1024)) { print FILE $buffer }        
close(FILE);

ActivePerl对此代码感到满意,但Strawberry Perl正在抛出以下错误:

  

在C:/StrawberryPerl/perl/lib/File/Temp.pm第380行使用-T开关运行时sysopen中的不安全依赖。

1 个答案:

答案 0 :(得分:0)

如何运行perl程序, perl(options progra_name.pl 或程序第一行的#〜/ uisr / bin.perl

如果使用-t作为perl的选项,则会在污点上发出警告而不是错误。或使用-X禁用所有警告。