时时商务社区

标题: php实现XSS安全过滤的方法 [打印本页]

作者: qz234    时间: 2018-2-14 05:43

            本文实例讲述了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用法示例(过滤不良代码)
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2