perl中的-T选项

Jim*_*Jim 3 perl

-TPerl用于什么标志?

Gre*_*con 10

它启用"污点模式",这是一种数据流分析,可防止使用不受信任的输入进行不安全的操作.

例如,存储新用户的详细信息似乎是合理的

open my $fh, ">", "/var/myservice/$username"
  or die "...";
print $fh ...;
Run Code Online (Sandbox Code Playgroud)

为了说明这是如何有用的,如果恶意用户提供用户名../../../etc/passwd并且您的服务以root身份运行,该怎么办?

污染模式不会允许上面的代码运行如果值$username在命令行或作为CGI形式参数来了.

perlsec文档显示了如何"取消"不受信任的输入,以确保它们是安全的.