【发布时间】:2020-12-29 22:37:46
【问题描述】:
据我了解,API 密钥通常用于第 3 方访问,但使用一个来验证它是我的前端与 api 对话是否有意义?我想尽可能地保护我的 API,所以任何其他提高其安全性的想法都会很棒
【问题讨论】:
-
定义“安全”。如果任何人都可以访问您的网站,并且该网站将与您的 API 对话,无论是否使用密钥,那么用户不需要以任何方式进行身份验证,并且访问对于所有意图和目的都是匿名的。访问您的 API 所需的关键是公共知识。这可能会使直接访问 API 变得稍微不方便,但任何想要访问的人仍然可以。
-
这是一个很好的观点。所以理论上,如果我能猜到一些公司的内部 api,我可以向他们的联系表单端点提交一个发布请求,并且预计会通过?即使没有真正的安全风险,它的开放性和可访问性似乎也很奇怪
-
考虑当您使用服务器端渲染而不是通过 API 获取数据的 Javascript 网站时会发生什么。然后你的服务器会泄露并接受完全相同的数据,只是用 HTML 而不是 JSON 包装。它没有任何根本区别。
-
酷,有道理。感谢您的帮助
标签: api web django-rest-framework api-security