如何防止 sql 注入?
【摘要】 1 使用预编译机制尽量用预编译机制,少用字符串拼接的方式传参,它是sql注入问题的根源。2 要对特殊字符转义有些特殊字符,比如:%作为like语句中的参数时,要对其进行转义处理。3 要捕获异常需要对所有的异常情况进行捕获,切记接口直接返回异常信息,因为有些异常信息中包含了 sql 信息,包括:库名,表名,字段名等。攻击者拿着这些信息,就能通过 sql 注入随心所欲的攻击你的数据库了。目前比较...
1 使用预编译机制
尽量用预编译机制,少用字符串拼接的方式传参,它是sql注入问题的根源。
2 要对特殊字符转义
有些特殊字符,比如:%作为like语句中的参数时,要对其进行转义处理。
3 要捕获异常
需要对所有的异常情况进行捕获,切记接口直接返回异常信息,因为有些异常信息中包含了 sql 信息,包括:库名,表名,字段名等。攻击者拿着这些信息,就能通过 sql 注入随心所欲的攻击你的数据库了。目前比较主流的做法是,有个专门的网关服务,它统一暴露对外接口。用户请求接口时先经过它,再由它将请求转发给业务服务。这样做的好处是:能统一封装返回数据的返回体,并且如果出现异常,能返回统一的异常信息,隐藏敏感信息。此外还能做限流和权限控制。
4 使用代码检测工具
使用sqlMap等代码检测工具,它能检测sql注入漏洞。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)