安全使用Perl的魔法钻石

时间:2012-05-30 23:12:17

标签: perl

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

2 个答案:

答案 0 :(得分:5)

您可以使用ARGV::readonly.这样可以更安全地使用钻石操作符。

  

ARGV :: readonly - make&lt;&gt;打开文件,无论前导/尾随空格和/或控制字符如|,&gt;,amd&lt;。

答案 1 :(得分:1)

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