首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

过滤危险/恶意HTML脚本的一个函数

使用一些Web HTML所见即所得的编辑器tinymce,fck等等,往往我们要过滤掉一些文件的标示和脚本如:
<?php .... ?>
<frame>....</frame>
等等
由于以前的代码丢失后重新写了个,欢迎大家测试.
复制PHP内容到剪贴板
PHP代码:
/**
 * FilterHtml
 * 作用:过滤字符串中一些恶意或者危险的内容.
 * 注意:未经完全测试,某些情况下可能无法过滤完整.
 * 作者:lazy
 * 联系:supporter@qq.com
 */
    
function filter_html($String){
        
$Filter[0] = "/<(?:link|script|frame|iframe|frameset)[^>]*>.*?<\/(?:link|script|frame|iframe|frameset)\s*>/is";
        
$Filter[1] = "/<(?:frameset|script|iframe|frame|link)[^>]*>/is";
        
$Filter[2] = "/<a\s*href=\s*['|\"|j|v].*?script:[^>]*>.*?<\/a>/is";
        
$Filter[3] = "/<[a-z]+\s*(?:onerror|onload|onunload|onresize|onblur|onchange|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousemove|onmousedown|onmouseout|onmouseover|onmouseup|onselect)[^>]*>/is";
        return 
preg_replace($Filter,"",$String);
    }


PS:依旧失业ing.那家深圳的公司需要初级PHPER请联系我->Mail:supporter@qq.com
^_^!

[ 本帖最后由 lazy 于 2007-12-18 07:17 编辑 ]
昵称: lazy  时间: 2007-12-18 02:11:00
注意前个版本有bug无法在php5下使用并且效率很低.
有下载或者复制的请使用这最新编辑过的.
昵称: lazy  时间: 2007-12-18 07:21:00
应鼓励原创精品。
昵称: luzhou  时间: 2007-12-18 08:27:00
支持一下
昵称: dzjzmj  时间: 2007-12-18 08:33:00