我尝试使用Ajax从HTTP域向HTTPS域发出安全身份验证POST请求。对于Firefox,Chrome和其他现代浏览器,可以使用CORS请求执行此操作。不幸的是,IE8和IE9不支持CORS,这使得这种类型的身份验证变得困难。
在XDomainRequest - Restrictions, Limitations and Workarounds的第7点,Eric Law提到了IE对HTTP到HTTPS跨域请求的限制的解决方法。但是,虽然the workaround demo适用于IE9,但它对IE8不起作用。
IE8是否还有其他解决方法可以将HTTP域的跨域POST请求发送到HTTPS域?
请注意,发送JSONP GET请求可能不会到期,因为在身份验证请求的URL参数中传递用户凭据意味着凭据将记录在Web服务器日志文件中。如果这些日志被泄露,那么用户就会被攻击。凭证也会受到损害。
答案 0 :(得分:1)
该演示不起作用,因为IE8不支持添加事件侦听器的addEventListener
方法。相反,演示应该使用attachEvent
方法。
如果使用了正确的attachEvent
方法,我已经验证它在IE8中有效。