2010-10-02 71 views
1

我正在这样做。它似乎工作,但它是最好的方式?像人们仍然可以发布XSS代码或应该抓住这一切吗?这是一个很好的方式来删除脚本,Onmouseover,onerror和onload用PHP

$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'; 

回答

4

消毒用户生成的HTML内容,我宁愿依靠现有的,积极维护图书馆的服务,如HTML Purifier

HTML净化器是写在一个标准的HTML过滤库PHP。 HTML Purifier不仅会删除所有恶意代码(更好的称为XSS),而且还会确保您的文档符合标准,只有通过全面的W3C规范知识才能实现。

+0

唯一的问题是,这是一个很重的wheigt库,如果你想配置它只允许在问题插入像JavaScript一样需要花费数小时..... – 2016-06-26 15:34:16

+1

当然 - 但它可以说仍然比在大多数情况下构建自己的解决方案(也就是说,如果你发现了一些更容易使用的东西,绝对在这里发布一个答案!) – 2016-06-26 15:39:00

相关问题