如果用户输入直接插入SQL查询,则应用程序容易受到SQL注入攻击,如下例所示:
$unsafe_variable = $_POST['user_input'];
mysql_query("INSERT INTO table (column) VALUES ('" . $unsafe_variable . "')");
这是因为用户可以输入类似value'); DROP TABLE table;--
的内容,进行查询:
INSERT INTO table (column) VALUES('value'); DROP TABLE table;--')
应该怎样做才能防止这种情况发生?
答案 0 :(得分:3)
使用mysql_real_escape_string($_POST['data']);
或者我建议使用PDO
库