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的官方文档。