5、Perl 编程中的数据污染检查与处理

Perl 编程中的数据污染检查与处理

1. 警告而非致命错误

在 Perl 编程里,使用 -T 开关时,数据污染违规会被当作致命错误处理,这通常是有益的。不过,要是拿到一个未仔细考虑数据污染问题的程序,还是可以运行它。Perl 提供了一种更温和的数据污染检查方式。
- -t 开关:它类似于普通的数据污染检查,但遇到问题时仅发出警告。这主要作为开发特性使用,能在将程序提供给公众测试数据前检查问题。例如:

% perl -t tainted_args_no_path.pl Amelia
Insecure dependency in system while running with -t switch at 
tainted_args_no_path.pl line 5.
Args are -> Amelia

程序虽报错,但会继续运行。
- -U 开关:它能让 Perl 执行原本不安全的操作,实际上是关闭数据污染检查。比如,给一个尚未保证数据安全的程序添加 -T 开关,但想在修复污染问题期间让程序运行,就可使用 -U 开关。不过,命令行中仍需使用 -T 开关,否则会出现 “too late” 信息,程序无法运行。例如:

% perl -TU tainted_args_no_path.pl Amelia
Args are ->
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值