安全性跨域资源共享(Security for cross-origin resource shari

2019-08-02 08:42发布

我有2的Ruby on Rails应用程序坐在2个不同的领域(比如www.exampleA.comwww.exampleB.com我想在2个应用程序之间共享资源,我用CORS:

exampleA.com发送HTTP POST请求exampleB.com

exampleB.com我检查request.env['HTTP_ORIGIN']以确保请求来自exampleA.com 。 如果真我通过设置响应报头允许HTTP POST请求作出回应。

我的问题是,我可以使用request.env['HTTP_ORIGIN']作为唯一的检查,以核实申请者的身份?

有没有可能有人从www.exampleC.com伪造其HTTP_ORIGIN看起来像www.exampleA.com和后恶意的数据? 如果有啥验证请求者身份的最好方法?

Answer 1:

原产地是几个中的一个无法通过网页的作者一个XHR请求设置头字段 。 所以,你的安全信任XHR请求的原产地信息。

但它仍然是可能的攻击者的恶意数据直接发送伪造的请求。 所以你仍然需要验证传入的请求。



Answer 2:

很抱歉,但它是十分容易伪造包含大多数客户端提供的数据,产地,因此它不应该被用于任何类型的担保。



文章来源: Security for cross-origin resource sharing