我有 2 个 ruby on rails 应用程序位于 2 个不同的域上(比如说www.exampleA.com
和www.exampleB.com
。我想在 2 个应用程序之间共享资源并且我正在使用 CORS:
exampleA.com
发送 http POST 请求到exampleB.com
.
在exampleB.com
我正在检查request.env['HTTP_ORIGIN']
以确保请求来自exampleA.com
. 如果为真,我会通过设置响应标头以允许 http 发布请求来响应。
我的问题是我可以request.env['HTTP_ORIGIN']
用作验证请求者身份的唯一检查吗?
有人www.exampleC.com
可以伪造他们的 HTTP_ORIGIN 看起来像www.exampleA.com
并发布恶意数据吗?如果是这样,验证请求者身份的最佳方法是什么?