php过滤危险html函数代码
1、删除html注释;
2、删除script、link、object、embed、iframe、frame、frameset以及拥有on开头、包含网页特效:[^;]或expression的属性的标签;
3、删除css教程中的注释(防止用这个来欺骗删除expression表达式,不知道还有其他什么方法可以欺骗删除expression);
4、删除expression表达式;
php过滤危险html,代码如下:
function fillter_html( $str ) { /* 过滤style标签 */ return preg_replace_callback( /* 过滤style标签内容 */ '/(<s*style[^>]*>)((?:(?!<s*/s*styles*>).)*)(<s*/s*styles*>)?/i' , create_function( '$str' , 'return $str[1] . fillter_css($str[2]) . $str[3];' ), //开源代码phpfensi测试数据 preg_replace( array ( /* 删除html注释 */ '/<!--.*?-->/i' , /* 删除标签:script、link、object、embed、iframe、frame、frameset */ '/<s*(script|object|embed|link|i?frame(set)?)[^>]*>(.*?<s*/s*\1s*>)?/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 ); }查看更多关于php过滤危险html函数代码 - php函数的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did30769