2

B::Lint 不喜欢while (<>) {do stuff},文档显示令人讨厌的注入攻击,因为它在内部使用了 evil 2 参数 open。有没有一种简单的方法可以使这种使用更安全?我有很多使用它的小脚本。

4

2 回答 2

5

您可以使用ARGV::readonly。它将允许更安全地使用钻石运算符。

ARGV::readonly - 使 <> 打开文件,而不考虑前导/尾随空格和/或控制字符,例如 |、>、amd <。

于 2012-05-30T23:23:54.520 回答
1

魔法钻石是为了您的方便。Getc()、read()、readline() 和 sysread() 都可用,并且每个都提供了安全性与便利性的不同权衡。

于 2012-05-30T23:35:58.643 回答