XSS过滤函数修正版 PHP
2012-06-11 17:49
274 查看
前面这个帖子/article/8648163.html已经介绍了XSS防御的两种方法,但是凡事还是应该以事实为依据,于是我测试了里面提到的两个方法
1.function RemoveXSS($val)
2.function
filter_xss($string, $allowedtags = '')
试验结果是两个方法都不行,实验结果为:
<span>aaa</span><img SRC="javascr ipt:alert('a');" /><br />aaa<img SRC="javascr ipt:alert('a');" />
所以这两个方法有问题,之前引用的帖子说第二种方法靠谱,推荐,但我认为第一种方法比较好,代码也比较清晰,跟踪了代码,发现是他的正则写的少考虑了 ,把它加进去就能过滤了。
个人认为我修正bug后,还有很多情况没考虑到,欢迎大家多提意见,谢谢。
1.function RemoveXSS($val)
2.function
filter_xss($string, $allowedtags = '')
$testXssString="<span>aaa</span><img SRC=\"javascr ipt:alert('a');\" />";//aaa<img STYLE=\"background-image: url(javascript:alert('XSS'))\"> echo RemoveXss($testXssString); //$testXssString=strip_tags($testXssString,"<span><img>"); //echo 'strip_tags:'.$testXssString; echo filter_xss($testXssString,"<img>");
试验结果是两个方法都不行,实验结果为:
<span>aaa</span><img SRC="javascr ipt:alert('a');" /><br />aaa<img SRC="javascr ipt:alert('a');" />
所以这两个方法有问题,之前引用的帖子说第二种方法靠谱,推荐,但我认为第一种方法比较好,代码也比较清晰,跟踪了代码,发现是他的正则写的少考虑了 ,把它加进去就能过滤了。
个人认为我修正bug后,还有很多情况没考虑到,欢迎大家多提意见,谢谢。
相关文章推荐
- php常用的安全过滤函数集锦
- [轉]PHP字符串过滤需要的函数,安全MYSQL
- PHP中字符安全过滤函数使用小结
- PHP通用的XSS攻击过滤函数,Discuz系统中 防止XSS漏洞攻击,过滤HTML危险标签属性的PHP函数
- php HtmlReplace输入过滤安全函数
- PHP安全过滤函数
- php字符串过滤需要的函数
- php自带过滤函数
- PHP安全过滤函数
- 用php过滤危险html代码的函数
- php常用的安全过滤函数集锦
- php不同版本htmlspecialchars函数过滤GBK编码时中文为空
- PHP中字符安全过滤函数使用小结
- php 过滤html标签的函数代码
- 使用PHP转义函数:避免XSS漏洞
- 用php过滤危险html代码的函数
- php下过滤HTML代码的函数
- PHP防注入漏洞过滤函数
- PHP 超强过滤函数