【发布时间】:2021-04-08 11:06:14
【问题描述】:
我是 REST API 的新手,我正在开发一个将用于 iOS/Android/Web 应用程序的 API,但我不熟悉这些 API 在发布后面临的威胁类型。 我到处都看到这些相同的提示:
- 使用 oAuth 2 允许交易,
- 仅接收和发送加密的 JSON Web 令牌,
- 使用 SSL/TTL。
我认为使用 SSL/TLS 和 JWT 应该足以确保发送/接收数据的安全性,但即便如此,如果有人窃取凭据,我还是担心 SQL 注入的可能性。
我应该检查 SQL 注入字符串 (such as this one) 的请求吗? 如果我要支持用户登录,使用 oAuth 代替 JWT 是否更有意义?
【问题讨论】:
-
对我来说,最好的方法是区分数据传输对象 (DTO) 和数据库对象,并使用 ORM 而不是直接从后端进行 SQL 查询。这样,您可以从可预测的结构(来自 DTO)组装数据库查询,并执行基于对象的查询,从而消除 SQL 注入的风险。看看gorm
-
“和其他攻击”使这个问题变得不可能广泛......因为有无限数量的攻击(并且一直发现新的攻击)
-
这能回答你的问题吗? How can I prevent SQL injection in PHP?
-
@symcbean 不,没有使用PHP,用例不同
标签: rest security go websecurity application-security