码迷,mamicode.com
首页 > 数据库 > 详细

PHP安全,防止SQL注入(输入过滤,输出转义)

时间:2017-03-09 11:46:43      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:intval   else   pos   sla   return   str   eal   for   统一   

 

(1)magic_quotes_gpc选项打开,在这种情况下所有的客户端GET和POST的数据都会自动进行addslashes处理

(2)防止对数字值的SQL注入,如用intval()等函数进行处理

(3)mysql_real_escape_string( string )  addslashes(string)

以上是利用PHP自带函数来防止SQL注入

下面提供一个例子,是在一个页面实现过滤,然后,需要用到的页面引入代码即可

#整站防注入

if (@magic_quotes_gpc()) {

  $_GET = sec($_GET);

  $_POST = sec($_POST);

  $_COOKIE = sec($_COOKIE);

  $_FILES = sec($_FILES);

}

#统一处理输入变量

function sec($array) {

  //如果是数组,遍历数组,递归调用

  if (is_array($array)) {

    foreach($array as $k => $v) {

      $array[$k] = sec($v);

    }

  } else if (is_string($array)) {

    //使用addslashes函数处理

    $array = addslashes($array);

  } else if (is_numeric($array)) {

    $array = intval($array);

  }

  return $array;

}

PHP安全,防止SQL注入(输入过滤,输出转义)

标签:intval   else   pos   sla   return   str   eal   for   统一   

原文地址:http://www.cnblogs.com/warmsun/p/6524242.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!