问题描述:
如果用户输入的数据在未经处理的情况下插入到一条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注入?