关于通过XHR2 / CORS访问的资源可以阻止请求的方式,除非它来自列入白名单的域:
我知道CORS不是确保数据安全的可靠方法 - 我只是作为好奇心来问。
答案 0 :(得分:0)
读取的标头为Origin
。任何HTTP标头都可以伪造。 COSR背后的想法是启用发送数据,同时仍然保护用户/防止滥用用户会话。禁止跨域请求保护用户,而不是服务器。
攻击者应该发送假设这是另一个域的请求并发送用户拥有的cookie。这不是你可以通过XSS
单独实现的 - 你必须偷取cookie并自己发送请求。但是你不能从站点B窃取站点A的cookie。但是如果A接受来自任何域的请求,通过B上的XSS你可以欺骗用户的浏览器向A发送请求,浏览器将发送cookie并且你可以读取响应回来。
答案 1 :(得分:0)
Origin
标头包含请求域。
此浏览器完全控制此标题,并且不能伪造。浏览器代表用户控制此标头,用户不能覆盖JS代码中的值。
注意我说的是“浏览器”;与任何HTTP请求一样,用户可以使用任何Origin
标头创建卷曲请求。但这仅限于用作攻击媒介,因为黑客必须欺骗有效用户发出正确的卷曲请求,这是不可能的。