Javascript IE8/9 AJAX/CORS(XDomainRequest)发送引用器头

Javascript IE8/9 AJAX/CORS(XDomainRequest)发送引用器头,javascript,internet-explorer,xdomainrequest,Javascript,Internet Explorer,Xdomainrequest,我在IE8&9中使用XDomainRequest向服务器发送请求。在其他浏览器中使用XMLHttpRequests时,会发送Origin和Referer标题,标题可能如下所示: Origin: http://www.example.com Referer: http://www.example.com/mypage/index.htm 但是XDomainRequest只发送源代码(因此我看不到完整的调用URL)。有没有办法强迫它也发送推荐人?我试图避免将其作为查询字符串或POST参数发送 我知

我在IE8&9中使用
XDomainRequest
向服务器发送请求。在其他浏览器中使用
XMLHttpRequests
时,会发送
Origin
Referer
标题,标题可能如下所示:

Origin: http://www.example.com
Referer: http://www.example.com/mypage/index.htm
但是
XDomainRequest
只发送源代码(因此我看不到完整的调用URL)。有没有办法强迫它也发送推荐人?我试图避免将其作为查询字符串或POST参数发送


我知道
XDomainRequest
不允许自定义头,但我希望,因为Referer是一个标准头,所以可能有某种方法可以启用它。

我的一个合作开发人员遇到了这个问题,他们调用的CORS服务是“安全性”所需的头,但IE无法发送头。我们没有找到IE8/9头问题的解决方案,除了:

  • 使服务不需要标头
  • 有一个代理,它将把你需要的头附加到你的请求上
  • 选项2解释为-设置一个web代理,该代理将接受不带标题的调用。然后它进行CORS调用,并将头添加到请求中。它接收有效负载并将其转发到您的请求上


    不管它值多少钱,我们选择了选项1

    您需要推荐人做什么?查看来电者的完整URL。原点仅提供根域。具体来说,我使用它来记录日志和一种非常粗糙的访问控制形式(欺骗推荐人需要最终用户的参与或浏览器插件)?不要使用Referer,它很容易被欺骗,也不能保证准确(比如你的IE、代理等)。@Bergi我以前试过这个问题。没有办法妥善保护它。Referer是一种折衷方案,因为它需要用户采取行动;网站不能欺骗referer字段。当然,Origin为大多数身份验证需求提供了足够的保护;referer部分更多地用于记录tbh(尽管有时有目录级过滤是很好的)。