用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

php过滤危险html函数代码

时间:2015-01-23  来源:西部数据  作者:西部数据

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); 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门