找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 882|回复: 0
打印 上一主题 下一主题

php实现XSS安全过滤的方法

[复制链接]

2588

主题

2588

帖子

7694

积分

论坛元老

Rank: 8Rank: 8

积分
7694
跳转到指定楼层
楼主
发表于 2018-2-14 05:43:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            本文实例讲述了php实现XSS安全过滤的方法。分享给大家供大家参考。具体如下:
function remove_xss($val) {
  // remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed
  // this prevents some character re-spacing such as
  // note that you have to handle splits with \n, \r, and \t later since they *are* allowed in some inputs
  $val = preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/', '', $val);
  // straight replacements, the user should never need these since they're normal characters
  // this prevents like
[img][/img]
  $search = 'abcdefghijklmnopqrstuvwxyz';
  $search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  $search .= '1234567890!@#$%^&*()';
  $search .= '~`";:?+/={}[]-_|\'\\';
  for ($i = 0; $i  0) {
        $pattern .= '(';
        $pattern .= '(&[xX]0{0,8}([9ab]);)';
        $pattern .= '|';
        $pattern .= '|(�{0,8}([9|10|13]);)';
        $pattern .= ')*';
      }
      $pattern .= $ra[$i][$j];
     }
     $pattern .= '/i';
     $replacement = substr($ra[$i], 0, 2).''.substr($ra[$i], 2); // add in  to nerf the tag
     $val = preg_replace($pattern, $replacement, $val); // filter out the hex tags
     if ($val_before == $val) {
      // no replacements were made, so exit the loop
      $found = false;
     }
   }
  }
  return $val;
}
希望本文所述对大家的php程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • php下过滤html代码的函数 提高程序安全性
  • php HtmlReplace输入过滤安全函数
  • PHP开发不能违背的安全规则 过滤用户输入
  • php 安全过滤函数代码
  • php 对输入信息的进行安全过滤的函数代码
  • php常用的安全过滤函数集锦
  • php判断文件上传类型及过滤不安全数据的方法
  • PHP中字符安全过滤函数使用小结
  • PHP的Yii框架中过滤器相关的使用总结
  • YII Framework的filter过滤器用法分析
  • Yii净化器CHtmlPurifier用法示例(过滤不良代码)
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端