使用TAINT安装Perl作为应用程序私有Perl的默认值

时间:2014-09-19 19:22:31

标签: perl perlbrew taint

我最近使用Perlbrew将应用程序转换为使用自己的Perl版本,而不是使用Perl系统,并且我从不再次使用系统Perl!

我即将启动一个干净的平板应用程序,其中所有脚本都将在TAINT打开的情况下运行。就像我以前的应用程序一样,新应用程序的库将在没有打开TAINT的情况下拒绝运行。

我的问题是,我可以安装或修改我自己的私有Perl,以便始终默认以TAINT模式运行吗?

编辑:对不起 - 我还应该提到我想在我的脚本中使用#!/usr/bin/env perl shebang成语,因此定义shell别名不是解决方案。

1 个答案:

答案 0 :(得分:2)

虽然看起来很容易修改perl以便始终在打开tainting的情况下运行(未经测试:在perl.c中的/ case的命令行开关处理之后添加TAINTING_set(TRUE);),但是没有支持这样做的方式。设置PERL5OPT环境变量尽可能接近它。注意" -T"必须在变量的值中排在第一位,并且您尝试在其中设置的任何其他开关都将被忽略。

但是,所有这一切似乎都过于偏执。仅仅放置" -T"在#! - 行上可以获得外部输入的脚本吗?