用于解除字符串初始化的perl IO事件处理程序

用于解除字符串初始化的perl IO事件处理程序,perl,taint-checking,Perl,Taint Checking,如何在Perl代码中创建一个事件处理程序来截获所有基于文件/目录/系统的调用,以便以实时方式解开输入 我的脚本中有很多IO访问权限,而且我发现添加手动代码来卸载很麻烦 无需安装第三方CPAN模块即可完成此操作吗?您可以尝试安装,但它确实需要安装CPAN模块 要捕获对特定方法/函数的调用,请定义切入点(取自Aspect POD): 然后定义调用前要执行的代码: $before = before { print "g/set will soon be called"; } $pointcut;

如何在Perl代码中创建一个事件处理程序来截获所有基于文件/目录/系统的调用,以便以实时方式解开输入

我的脚本中有很多IO访问权限,而且我发现添加手动代码来卸载很麻烦

无需安装第三方CPAN模块即可完成此操作吗?

您可以尝试安装,但它确实需要安装CPAN模块

要捕获对特定方法/函数的调用,请定义切入点(取自Aspect POD):

然后定义调用前要执行的代码:

$before = before {
  print "g/set will soon be called";
} $pointcut;

虽然我不确定Aspect模块是否允许您捕获对核心的调用::*名称空间。

您希望如何卸载常规数据?如果你只是盲目地接受一切,不管它的来源如何,那么使用污染检查是没有意义的


您可能需要阅读中的“安全编程技术”一章。对于处理这类事情,我给出了不少建议。但是,任何好的建议都是针对特定情况的,而不是泛化的。

我可以通过一系列正则表达式和分支(if/else/case)等来运行它,让您回到开始的地方。
$before = before {
  print "g/set will soon be called";
} $pointcut;