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

如何在使用“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 关注
  • 249 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号