为啥我的 Perl 程序在一台机器上得到污染警告,而在另一台机器上却没有?
Posted
技术标签:
【中文标题】为啥我的 Perl 程序在一台机器上得到污染警告,而在另一台机器上却没有?【英文标题】:Why does my Perl program get a taint warning on one machine but not another?为什么我的 Perl 程序在一台机器上得到污染警告,而在另一台机器上却没有? 【发布时间】:2010-02-17 14:31:10 【问题描述】:我们办公室有两台机器用作网络服务器。两者都运行 Perl 5.10.0。我们安装了一个开源票务系统 OTRS,在一台机器上它运行得非常好,但在另一台机器上我们收到了错误
Insecure dependency in require while running with -T switch.
我很困惑为什么在两台机器上安装了两个相同的 Perl 后一个运行良好而另一个却没有。我想知道这是否可能是系统级别的东西? 软件安装相同。任何意见,将不胜感激。 尼基
【问题讨论】:
首先要检查的地方:shebang 线是否相同?其次,如果您使用的是mod_perl
,是否在机器上的一个httpd.conf
或任何包含的.conf
文件上启用了污点模式,而不是在另一台机器上?
当人们在这种情况下说“相同”时,它自动意味着“不相同”。你看到不同的行为告诉你有些东西是不同的,因此不完全相同。 :)
我将从比较环境变量开始。从手册页中,您会看到 taint-mode 对您通常不会考虑的不安全环境变量非常敏感。
【参考方案1】:
您可以阅读 Perl 的 taint mode。我怀疑在一台机器上启用了污染模式,而在另一台机器上未启用。
【讨论】:
以上是关于为啥我的 Perl 程序在一台机器上得到污染警告,而在另一台机器上却没有?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 django sqlite3 数据库在一台机器上与另一台机器上的工作方式不同?
为啥谷歌播放商店稳定性报告说我的应用程序在一台设备上崩溃了[重复]