2012-03-27 105 views
1

我正在尝试使用Ajax将HTTP域中的安全身份验证POST请求发送到HTTPS域。对于Firefox,Chrome和其他现代浏览器,可以使用CORS请求执行此操作。不幸的是,IE8和IE9不支持CORS,这使得这种类型的认证变得困难。IE8能否将跨域请求从HTTP发布到HTTPS?

Eric Law在XDomainRequest - Restrictions, Limitations and Workarounds的第7点提到了IE对HTTP-to-HTTPS跨域请求的限制的一个解决方法。但是,虽然the workaround demo适用于IE9,但它不适用于IE8。

是否有任何其他解决方法让IE8发送跨域POST请求从HTTP域到HTTPS域?

请注意,发送JSONP GET请求可能不会到期,因为在身份验证请求的URL参数中传递用户凭据意味着凭据将记录在Web服务器日志文件中。如果这些日志受到攻击,那么用户的凭据也会受到影响。

回答

1

演示不起作用,因为IE8不支持用于添加事件侦听器的addEventListener方法。相反,演示应该使用attachEvent方法。

我已经验证过,如果使用正确的attachEvent方法,它在IE8中工作。