按照我的理解,如果客户端脚本在foo的页面上运行.com希望从bar请求数据.在请求中,它必须指定头Origin: http://foo.com
,而bar必须以Access-Control-Allow-Origin: http://foo.com
响应.
有什么可以阻止来自网站roh.com的恶意代码简单地欺骗报头Origin: http://foo.com
以请求来自bar的页面?
按照我的理解,如果客户端脚本在foo的页面上运行.com希望从bar请求数据.在请求中,它必须指定头Origin: http://foo.com
,而bar必须以Access-Control-Allow-Origin: http://foo.com
响应.
有什么可以阻止来自网站roh.com的恶意代码简单地欺骗报头Origin: http://foo.com
以请求来自bar的页面?
浏览器可以控制设置Origin
标头,用户不能覆盖此值.这样您就不会看到Origin
头在浏览器中被欺骗了.恶意用户可以手工创建手动设置Origin
头的CURL请求,但此请求将来自浏览器外部,并且可能没有特定于浏览器的信息(如Cookie).
记住:CORS不是安全.不要依赖CORS来保护你的网站.如果您提供的是受保护的数据,请使用cookie或OAuth令牌或Origin
头以外的其他东西来保护该数据.CORS中的Access-Control-Allow-Origin
报头仅规定应允许哪些来源进行跨来源请求.不要再依赖它了.