yanhuichao 发表于 2015-11-19 14:40:50

xss_clean过滤表单内容被清除

开启xss过滤后,提交的表单数据有时候会被完全过滤掉,有时候部分内容不会被替换为空字符。
跟踪到源码是:
_remove_evil_attributes函数中的正则将内容过滤了:
$str = preg_replace('/(<?)(\/?[^><]+?)([^A-Za-z<>-])(.?)('.implode('|', $attribs).')(.?)([\s><]?)([><]*)/i', '$1$2 $4$6$7$8', $str, -1, $count);
比如:
<p>测试</p><p><br/></p><p><img src="http://xxx" style=""/></p><p><img src="http://xxx" style=""/></p><p><br/></p>
测试的“测”就会被过滤掉,请问有什么解决办法或思路吗?

Hex 发表于 2015-11-23 11:08:21

你的网页什么编码的?
页: [1]
查看完整版本: xss_clean过滤表单内容被清除