如何防止SQL注入,php

How to prevent SQL injection, php

本问题已经有最佳答案,请猛点这里访问。

如果在不修改SQL查询的情况下插入用户输入,则应用程序容易受到SQL注入的攻击,如下例所示:

1
2
3
$unsafe_variable = $_POST['user_input'];

mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')");

这是因为用户可以输入类似于value');drop table table;--,查询变为:

1
INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--')

如何才能防止这种情况发生?


这是PHP的官方文档。