怎样才能防止在PHP中的SQL注入?

如果用户输入未经修改而插入到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;--')

可以做些什么来防止这种情况发生?



安卓软件程序开发入门学习
浏览 1392回答 2
2回答

seth-shi

使用 PDO 查询,预处理 SQL,参数绑定

慕仔3118017

常见的方法,也是最基本的方法,对传入参数进行过滤,比如drop ,table.insert 等等关键字,要删除或替代。引号、括号都进行替代处理。网上有很多防注入脚本,可直接用。
打开App,查看更多内容
随时随地看视频慕课网APP