查询网站备案名,网站建设在哪里办公,wordpress内部服务器错误,齐河网站开发现象#xff1a;http://10.xx.xx.xx:xx/services/xxService 存在SQL注入情况
加固意见#xff1a;
需要对网站所有参数中提交的数据进行过滤#xff0c;禁止输入“、xor、or、”--“、”#“、”select“、”and“等特殊字符#xff1b;所有…现象http://10.xx.xx.xx:xx/services/xxService 存在SQL注入情况
加固意见
需要对网站所有参数中提交的数据进行过滤禁止输入“、xor、or、”--“、”#“、”select“、”and“等特殊字符所有的查询语句都使用数据库提供的参数化查询接口参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中严格限制网站用户对数据库的操作权限给此用户提供仅仅能够满足其工作的权限从而最大限度的减少注入攻击对数据库的危害避免网站显示SQL错误信息比如类型错误、字段不匹配等防止攻击者利用这些错误信息进行一些判断。
#苏工使用参数化查询。这些查询使数据库能够区分代码和数据无论数据是什么都不会被解释为 SQL 代码。
在 Java 中可以使用 PreparedStatement在 PHP 中可以使用 PDO 或 mysqli 的绑定参数。#Java修改方案参考 用PreparedStatement解决SQL注入问题
String query SELECT * FROM users WHERE username ? AND password ?;
PreparedStatement stmt connection.prepareStatement(query);
stmt.setString(1, username);
stmt.setString(2, password);
ResultSet rs stmt.executeQuery();#PHP参考
$stmt $pdo-prepare(SELECT * FROM users WHERE username :username AND password :password);
$stmt-execute(array(:username $username, :password $password));
$results $stmt-fetchAll();修复前
修复后
参考
https://blog.csdn.net/m0_63149400/article/details/129244747 《用PreparedStatement解决SQL注入问题》
https://blog.csdn.net/u012887259/article/details/117491669 《使用 preparedStatement 解决 SQL 注入问题》
https://blog.csdn.net/qq_52722789/article/details/122447940 《SQL注入及PreparedStatement》
https://zhuanlan.zhihu.com/p/658285798 《SQL注入 -- SQL注入漏洞的修复建议》