好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php过滤危险html函数代码 - php函数

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函数的详细内容...

  阅读:42次