免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 兰花仙子
打印 上一主题 下一主题

关于Perl的tainted模式 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-11-17 12:18 |只看该作者
两位大虾的讨论也让偶有所收获哦。

Apile的这句:
$untainted_variable = $var =~/(w+)/;
按照偶的理解,是否该这么写啊:
($untainted_variable) = $var =~/(w+)/; # 强迫"="赋值位于列表上下文
或者:
($untainted_variable = $var) =~/(w+)/; # 强迫先给$untainted_variable赋值,再匹配

Apile的原写法,应该是先匹配,再赋值给$untainted_variable,由于赋值的环境是标量上下文,结果应该是个数字,而不是匹配命中的结果哦。

从句子表面判断的,没test,大家看看对不对哈。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
12 [报告]
发表于 2005-11-17 12:46 |只看该作者
不好意思..少写了()...仙子说得没错....

只是连从DB里面抓出来的variable..也是tainted...这就很麻烦了...

有时候几十个variable...一个一个检查....这样的程序写得会很累的....

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
13 [报告]
发表于 2005-11-17 14:07 |只看该作者
哈哈!支持讨论语法!

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
14 [报告]
发表于 2005-11-17 14:14 |只看该作者
下面这个是 perldoc perlsec 里的:
  1. sub is_tainted {
  2.     return ! eval { eval("#" . substr(join("", @_), 0, 0)); 1 };
  3. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP