为了账号安全,请及时绑定邮箱和手机立即绑定

如何在使用“database/sql”时防止 Go 中的 SQL 注入攻击?

如何在使用“database/sql”时防止 Go 中的 SQL 注入攻击?

Go
呼啦一阵风 2021-08-23 16:02:56
构建我的第一个 web 应用程序并希望更好地理解 SQL 注入(https://github.com/ataxie/build-web-application-with-golang/blob/master/en/eBook/09.4.md)。仅始终使用“database/sql”库并使用“?”构建查询,我可以获得多少针对 SQL 注入的保护?而不是连接字符串?在这种情况下,我还需要担心什么样的 SQL 注入攻击?
查看完整描述

2 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

只要您使用Prepare或Query,您就是安全的。


// this is safe

db.Query("SELECT name FROM users WHERE age=?", req.FormValue("age"))

// this allows sql injection.

db.Query("SELECT name FROM users WHERE age=" + req.FormValue("age"))


查看完整回答
反对 回复 2021-08-23
  • 2 回答
  • 0 关注
  • 236 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信