| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

PHP防XSS 防SQL注入的代码

作为开发人员时刻要记住一句话,永远不要相信任何用户的输入!很多时候我们的网站会因为我们开发人员写的代码不够严谨,而使网站受到攻击,造成不必要的损失!下面介绍一下如何防止SQL注入!

这里提供了一个函数,用来过滤用户输入的内容!使用POST传值的时候,可以调用这个函数进行过滤!

    /**       * 过滤参数       * @param string $str 接受的参数       * @return string       */      static public function filterWords($str)      {          $farr = array(                  "/<(\\/?)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU",                  "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",                  "/select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile|dump/is"          );          $str = preg_replace($farr,'',$str);          return $str;      }             /**       * 过滤接受的参数或者数组,如$_GET,$_POST       * @param array|string $arr 接受的参数或者数组       * @return array|string       */      static public function filterArr($arr)      {          if(is_array($arr)){              foreach($arr as $k => $v){                  $arr[$k] = self::filterWords($v);              }          }else{              $arr = self::filterWords($v);          }          return $arr;      }