首页 > 解决方案 > 如何只允许来自同一来源/域的 API 调用?

问题描述

所以我遇到了一个问题。我正在构建一个 javacript 文件,它将 iframe 附加到客户端页面(在 div 内)。可以说,这个 iframe 是从http://example.com/iframe加载的。iframe 的后端模块(处理表单提交;用 spring 编写)有一些端点,如http://example.com/url1http://example.com/url2

现在,我只希望 iframe 能够与后端 API 进行通信。目前,我也可以从 localmachine 访问 iframe 后端 API。

我遇到了referer HTTP字段,最初是打算在API上设置一个referer过滤器,但后来发现这很容易被欺骗。我会在 API 上获得任何好处 serting CORS 标头并将来源设置为http://example.com吗?它会起作用吗?如果是的话,这是一个安全可靠的解决方案吗?有没有更好的选择?

标签: spring-bootspring-securitycross-browsercross-domainsame-origin-policy

解决方案


推荐阅读