在我的前端使用API密钥访问我的API有意义吗?

在我的前端使用API密钥访问我的API有意义吗?,api,web,django-rest-framework,api-security,Api,Web,Django Rest Framework,Api Security,据我所知,API密钥通常用于第三方访问,但使用一个密钥来验证它是我的前端与API对话,这有意义吗?我希望尽可能地保护我的API,因此任何其他提高其安全性的想法都是很好的一个API密钥,具有内部使用的意义,超出了安全范围 例如:您有一个web前端和一个应用程序(ios),您可以识别不同类型的REST客户端。您可以按客户端类型添加速率限制 保护API安全的第一个检查可能是“您是否使用HTTPS” 另见: 和:定义“安全”。如果任何人可以访问您的网站,并且该网站将与您的API对话,无论是否使用密钥,那

据我所知,API密钥通常用于第三方访问,但使用一个密钥来验证它是我的前端与API对话,这有意义吗?我希望尽可能地保护我的API,因此任何其他提高其安全性的想法都是很好的

一个API密钥,具有内部使用的意义,超出了安全范围

例如:您有一个web前端和一个应用程序(ios),您可以识别不同类型的REST客户端。您可以按客户端类型添加速率限制

保护API安全的第一个检查可能是“您是否使用HTTPS”

另见:
和:

定义“安全”。如果任何人可以访问您的网站,并且该网站将与您的API对话,无论是否使用密钥,那么用户不需要以任何方式进行身份验证,并且访问出于所有目的都是匿名的。访问API所需的关键是公共知识。这可能会使直接访问API变得更加不方便,但是任何想访问API的人都可以。这是一个好的观点。所以在理论上,如果我能猜到一些公司的内部api,我可以向他们的联系人表单端点提交一个post请求,它会被期望通过吗?这样的开放性和可访问性似乎很奇怪,即使没有真正的安全风险考虑一下当您使用服务器端呈现而不是通过API获取数据的Javascript网站时会发生什么。然后,您的服务器将泄漏并接受完全相同的数据,只需用HTML而不是JSON包装即可。这没有任何根本的区别。酷,有道理。谢谢你的帮助