php过滤危险html函数代码
发布时间:2022-06-17 08:51:46 所属栏目:PHP教程 来源:互联网
导读:1、删除html注释; 2、删除script、link、object、embed、iframe、frame、frameset以及拥有on开头、包含网页特效:[^;]或expression的属性的标签; 3、删除css教程中的注释(防止用这个来欺骗删除expression表达式,不知道还有其他什么方法可以欺骗删除expres
|
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.com 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); } (编辑:周口站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
