在Perl中编码时安全地执行系统命令

前端之家收集整理的这篇文章主要介绍了在Perl中编码时安全地执行系统命令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Perl中编码时,真的应该使用外部命令吗?我看到它的几个缺点.它不是系统独立的,也可能存在安全风险.你怎么看?如果没有办法,你必须使用Perl的shell命令,那么执行该特定命令最安全的方法是什么(比如检查pid,uid等)?

解决方法

这取决于在Perl中复制功能的难易程度.如果我需要在某些东西上运行m4宏处理器,我不会想到尝试在Perl中复制该功能,并且因为 http://search.cpan.org/上没有看起来合适的模块,所以看起来其他人同意我的看法.那么,在那种情况下,使用外部程序是明智的.另一方面,如果我需要读取目录的内容,那么在Perl中readdir()et al和stat()或lstat()的组合比ls的输出更加明智.

如果需要执行命令,请仔细考虑如何调用它们.特别是,你可能想避免shell解释参数,所以使用system的数组形式(参见exec)等,而不是命令加参数的单个字符串(这意味着shell用于处理命令)线).

猜你在找的Perl相关文章