PHP防止SQL注入的一种思路

问题描述:

  如果用户输入的数据在未经处理的情况下插入到一条SQL查询语句,那么应用将很可能遭受到SQL注入攻击,正如下面的例子:

1
2
3
$unsafe_variable=$_POST[‘user_input’];
 
mysql_query(“INSERT INTO `table` (`column`) VALUES (‘”.$unsafe_variable.”‘)”);

  因为用户的输入可能是这样的:

1
value’); DROP TABLE table;–

  那么SQL查询将变成如下:

1
INSERTINTO`table` (`column`)VALUES(‘value’);DROPTABLEtable;–‘)

  应该采取哪些有效的方法来防止SQL注入?