🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 防止SQL注入解决方案: 解决SQL注入问题的关键是对所有可能来自用户输入的数据进行严格的检查、对数据库配置使用最小权限原则。通常修复使用的方案有: ### 代码层面: 1. 对输入进行严格的转义和过滤 2. 使用参数化(Parameterized):目前有很多ORM框架会自动使用参数化解决注入问题,但其也提供了"拼接"的方式,所以使用时需要慎重! 3. PDO预处理 (Java、PHP防范推荐方法:) 没有进行PDO预处理的SQL,在输入SQL语句进行执行的时候,web服务器自己拼凑SQL的时候有可能会把危险的SQL语句拼凑进去。但如果进行了PDO预处理的SQL,会让MYSQL自己进行拼凑,就算夹带了危险的SQL语句,也不会进行处理只会当成参数传进去,而不是以拼接进SQL语句传进去,从而防止了SQL注入。 PDO数据库抽象层学习:http://www.php.cn/course/868.html ### 网络层面: 1. 通过WAF设备启用防SQL Inject注入策略(或类似防护系统) 2. 云端防护(360网站卫士,阿里云盾等)