spring-boot - 如何只允许来自同一来源/域的 API 调用?
问题描述
所以我遇到了一个问题。我正在构建一个 javacript 文件,它将 iframe 附加到客户端页面(在 div 内)。可以说,这个 iframe 是从http://example.com/iframe加载的。iframe 的后端模块(处理表单提交;用 spring 编写)有一些端点,如http://example.com/url1,http://example.com/url2
现在,我只希望 iframe 能够与后端 API 进行通信。目前,我也可以从 localmachine 访问 iframe 后端 API。
我遇到了referer HTTP字段,最初是打算在API上设置一个referer过滤器,但后来发现这很容易被欺骗。我会在 API 上获得任何好处 serting CORS 标头并将来源设置为http://example.com吗?它会起作用吗?如果是的话,这是一个安全可靠的解决方案吗?有没有更好的选择?
解决方案
推荐阅读
- sql - 使用 sqldf 保存时间类
- python - 在 Python 中比较 2 个日期没有按预期工作
- javascript - Svelte 中使用的这种构造的 Vanilla JS 含义是什么?
- python - OSError:[WinError 10038] 尝试对不是 python 中的套接字的东西进行操作
- spatstat - 如何在 spatstat 中制作类似于 murchison 数据的数据集以进行 ppm 和 AUc 分析
- python - 求数值曲线的曲线方程
- javascript - JavaScript 只影响数组中的所有其他元素
- django - 自定义用户模型错误:AttributeError:“CustomUser”对象没有属性“is_anonymous”
- python - 检入从最后一个字符到第一个字符的字符串
- haskell - 如何防止输入被冲入输出?