这是用PHP删除脚本,Onmouseover,onerror和onload的好方法

时间:2010-10-02 21:50:20

标签: php xss

我这样做。它似乎工作,但它是最好的方式?就像人们仍然可以发布XSS代码一样,还是应该抓住这一切?

$pattern[0] = '/script/'; 
$pattern[1] = '/onmouseover/'; 
$pattern[2] = '/onerror/';
$pattern[3] = '/onload/';
$replacement[0] = 'scr<b></b>ipt'; 
$replacement[1] = 'onmouse<b></b>over'; 
$replacement[2] = 'on<b></b>error'; 
$replacement[2] = 'on<b></b>load';

1 个答案:

答案 0 :(得分:4)

要清理用户生成的HTML内容,我宁愿依赖现有的,积极维护的库(如HTML Purifier)的服务:

  

HTML Purifier是一个用PHP编写的符合标准的HTML过滤器库。 HTML Purifier不仅会删除所有恶意代码(更好地称为XSS),并且具有经过全面审核,安全且宽松的白名单,还可以确保您的文档符合标准,只有通过全面了解W3C的规范才能实现。