首页 > 解决方案 > 如何在浏览器中向公众隐藏 Spring Boot“GET”API 请求?

问题描述

正如问题所述,我的目标是隐藏Spring Boot中的 GET 路由,使其不被公众访问。我最初采用了 CORS 方法,但这并不能解决实际的视图问题。几乎任何人都可以去,比如说……https://my-api-url.com/employee/all查看我数据库中所有员工的 JSON 记录。

最终目标:我只希望我的前端能够访问我的 API,以便向已登录的授权用户显示该信息,但我不希望任何人都可以访问 API。CORS 策略可以处理 ajax 请求,但我似乎无法停止对 GET url 的整体查看。

我怎么解决这个问题?

标签: javaspringspring-bootmodel-view-controllerhide

解决方案


如果您想限制使用并使滥用者不方便调用您的 API,您可以在页面加载时发出一个令牌(CSRF 令牌)并要求该令牌出现在对 API 的请求中 - 这样 API 就可以调用了从启动页面加载的浏览器。

您可以参考此链接https://security.stackexchange.com/questions/246434/how-can-i-ensure-my-api-is-only-called-by-my-client


推荐阅读