加入收藏 | 设为首页 | 会员中心 | 我要投稿 周口站长网 (https://www.0394zz.cn/)- 数据采集、智能营销、经验、云计算、专属主机!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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);
  }
 

(编辑:周口站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读