网站地图    收藏   

主页 > php专栏 > php函数大全 >

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

来源:自学PHP网    时间:2014-11-25 00:27 作者: 阅读:

[导读] 1、删除html注释;2、删除script、link、object、embed、iframe、frame、frameset以及拥有on开头、包含网页特效:[^;]或expression的属性的标签;3、删除css教程中的注释(防止用这个来欺骗删除expr.....

php过滤危险html函数代码

1、删除html注释;

2、删除script、link、object、embed、iframe、frame、frameset以及拥有on开头、包含网页特效:[^;]或expression的属性的标签;

3、删除css教程中的注释(防止用这个来欺骗删除expression表达式,不知道还有其他什么方法可以欺骗删除expression);

4、删除expression表达式;

php过滤危险html,代码如下:

  1. function fillter_html( $str ) { 
  2.         /* 过滤style标签 */ 
  3.         return preg_replace_callback( 
  4.                         /* 过滤style标签内容 */ 
  5.                         '/(<s*style[^>]*>)((?:(?!<s*/s*styles*>).)*)(<s*/s*styles*>)?/i'
  6.                         create_function('$str''return $str[1] . fillter_css($str[2]) . $str[3];'),//开源代码phpfensi.com 
  7.                         preg_replace( 
  8.                                 array
  9.                                         /* 删除html注释 */ 
  10.                                         '/<!--.*?-->/i'
  11.                                         /* 删除标签:script、link、object、embed、iframe、frame、frameset */ 
  12.                                         '/<s*(script|object|embed|link|i?frame(set)?)[^>]*>(.*?<s*/s*\1s*>)?/i'
  13.                                         /* 删除事件、javascript协议、css表达式 */ 
  14.                                         '/<[^>]+((on[a-z]+s*=|javascript:[^;"\']|expressions*()[^>]*)+>?/i'
  15.                                 ), 
  16.                                 ''
  17.                                 $str 
  18.                         ) 
  19.         ); 
  20.  
  21. /* 过滤样式正文 */ 
  22. function fillter_css( $str ) { 
  23.         /* 删除注释、javascript协议、表达式 */ 
  24.         return preg_replace(array('/(/*((?!*/).)**/|/*|*/)/i''/expressions*((.*?))?|javascripts*:/i',), ''$str); 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论