如何防止sql注入

前端: 使用参数化,对各类入库数据进行检查,屏蔽关键字,框架是否具有防止sql注入的检查要清楚。

后端: 使用框架的方法录入数据库,禁止物理删除方法,传参检查,避免使用sql拼接,对外禁止使用sql拼接,对内需记录详细操作日志。在中间层对数据库进行修改和删除(逻辑删除)操作时,对所拼接的sql和入参需要进行检查,可用正则或者自己写方法。

数据库: 设置数据库权限,面对普通用户,需要做到禁止删除,内部用户禁止物理删除,原则上只允许修改状态。如特殊情况需要使用存储过程。

不要使用动态sql:最好使用准备好的语句和参数化查询 不要将敏感数据保留在纯文本中:加密存储在数据库中的私密数据 限制数据库权限:将用户权限调至最低 避免向用户直接显示数据库错误:统一404报错 对访问数据库的web应用程序使用web应用程序防火墙(WAF) 定期测试与数据库交互的web应用程序 将数据库更新为最新的可用修复补丁

数据库
JSRUN前端笔记, 是针对前端工程师开放的一个笔记分享平台,是前端工程师记录重点、分享经验的一个笔记本。JSRUN前端采用的 MarkDown 语法 (极客专用语法), 这里属于IT工程师。