如何保护同一服务器上前端使用的 Rest API 端点?
Posted
技术标签:
【中文标题】如何保护同一服务器上前端使用的 Rest API 端点?【英文标题】:How to secure Rest API endpoint that is consumed by the frontend on same server? 【发布时间】:2021-10-25 18:57:37 【问题描述】:想象一下前端(例如通过 ajax 请求)从 Rest API 获取数据并使用它的场景。保护 Rest API 的最佳方式是什么?
我在考虑不记名令牌。但是话又说回来,不记名令牌仍然可以从代码中被拦截/挖掘。
我也在考虑 CORS 并且只允许同源标头,但这同样可以通过 curl 等进行欺骗。
我还在考虑构建令牌环系统,其中请求者首先必须宣布他读/写资源的意图,然后要么被批准并给予一个使用令牌来执行读/写或被拒绝。但这最终可能会占用大量资源和性能。
还有哪些其他选择?
【问题讨论】:
【参考方案1】:我们需要一些上下文。问题是为什么您需要保护数据。根据您的要求,答案可能会有所不同..
如果您在网页上公开获取的数据可供所有人使用,即使您使用令牌也无法确保其安全。因为任何人都知道网络是如何工作的,所以可以使用令牌来捕获数据或简单地解析您的网页。
如果您想限制 API 的使用,那么您可以实施 API 网关和网络防火墙,这样任何人都不会滥用您的 API 端点。
【讨论】:
以上是关于如何保护同一服务器上前端使用的 Rest API 端点?的主要内容,如果未能解决你的问题,请参考以下文章