预防数据库攻击的正确做法:

来源:互联网 发布:开淘宝店卖什么最好 编辑:程序博客网 时间:2024/06/09 22:07

预防数据库攻击的正确做法:

magic_quotes_gpc=On的时候,函数get_magic_quotes_gpc()就会返回1

当magic_quotes_gpc=Off的时候,函数get_magic_quotes_gpc()就会返回0

因此可以看出这个get_magic_quotes_gpc()函数的作用就是得到环境变量magic_quotes_gpc的值。既然在PHP6中删除了magic_quotes_gpc这个选项,那么在PHP6中这个函数我想也已经不复存在了。


php 判断是否开启get_magic_quotes_gpc功能了,以方便我们是否决定使用addslashes这个函数了。

 代码如下复制代码

function SQLString($c, $t){
 $c=(!get_magic_quotes_gpc())?addslashes($c):$c;
 switch($t){
  case 'text':
   $c=($c!='')?"'".$c."'":'NULL';
   break;
  case 'search':
   $c="'%%".$c."%%'";
   break;
  case 'int':
   $c=($c!='')?intval($c):'0';
   break;
 }
 return $c;
}

预防数据库攻击的正确做法

<?phpfunction check_input($value){// 去除斜杠if (get_magic_quotes_gpc())  {  $value = stripslashes($value);  }// 如果不是数字则加引号if (!is_numeric($value))  {  $value = "'" . mysql_real_escape_string($value) . "'";  }return $value;}$con = mysql_connect("localhost", "hello", "321");if (!$con)  {  die('Could not connect: ' . mysql_error());  }// 进行安全的 SQL$user = check_input($_POST['user']);$pwd = check_input($_POST['pwd']);$sql = "SELECT * FROM users WHEREuser=$user AND password=$pwd";mysql_query($sql);mysql_close($con);?>
0 0
原创粉丝点击