2012-03-27 81 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中工作。