一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

php 过滤危险html函数 代码

时间:2010-09-07 编辑:简简单单 来源:一聚教程网

1、删除html注释;
2、删除script、link、object、embed、iframe、frame、frameset以及拥有on开头、包含网页特效:[^;]或expression的属性的标签;
3、删除css教程中的注释(防止用这个来欺骗删除expression表达式,不知道还有其他什么方法可以欺骗删除expression);

4、删除expression表达式;


过滤危险html */

 代码如下 复制代码

function fillter_html( $str ) {
        /* 过滤style标签 */
        return preg_replace_callback(
                        /* 过滤style标签内容 */
                        '/(]*>)((?:(?!).)*)()?/i',
                        create_function('$str', 'return $str[1] . fillter_css($str[2]) . $str[3];'),
                        preg_replace(
                                array(
                                        /* 删除html注释 */
                                        '//i',
                                        /* 删除标签:script、link、object、embed、iframe、frame、frameset */
                                        '/]*>(.*?)?/i',
                                        /* 删除事件、javascript协议、css表达式 */
                                        '/<[^>]+((on[a-z]+s*=|javascript:[^;"\']|expressions*()[^>]*)+>?/i',
                                ),
                                '',
                                $str
                        )
        );
}

/* 过滤样式正文 */
function fillter_css( $str ) {
        /* 删除注释、javascript协议、表达式 */
        return preg_replace(array('/(/*((?!*/).)**/|/*|*/)/i', '/expressions*((.*?))?|javascripts*:/i',), '', $str);
}
?>

热门栏目