(FWIW,我也将这个问题发布到我的博客:http://blog.wolffmyren.com/2011/07/11/ie-protected-mode-ssl/)
有谁知道如何绕过 Internet Explorer 保护模式限制而不需要最终用户将我们的站点添加到可信站点列表?
问题是如果我们为我们的站点启用 SSL 登录,他们只能访问 SSL 页面。 IE 阻止我们的非 SSL 服务页面访问在 SSL session 期间创建的 cookie,因此我们可以通过 SSL 服务所有内容(非常昂贵/资源密集型),或者找到一些方法来设置 SSL 和 登录过程中的非 SSL cookie。
这篇 MSDN 文章(ielowutil.exe 与 Internet Explorer 8.0 有什么关系?)包含我迄今为止找到的最相关的信息,但它讨论了使用 Windows API,我正在寻找可以实现的解决方案使用 ASP.NET、JavaScript 或其他一些交付良好的解决方案。
更新:我的一个 friend 分享了这些链接,希望它们能有所帮助:
最佳答案
看起来 IIS 通过 HTTPS 连接为您提供安全 cookie,这确实非常明智。这些 cookie 旨在不泄漏到普通 HTTP 连接,因此您会得到结果。
您可以创建一个辅助的、非安全的 cookie 来将一些身份验证信息传递到您网站的 HTTP 端。 但是,一旦您完成了此操作,请不要假设在纯 HTTP session 期间完成或发送的任何内容都是由经过身份验证的合法用户完成的,如果在某个时候您需要返回到 HTTPS。可以将身份验证 token 从 HTTPS 传递到 HTTP,但反之则不行。 (当然,您仍然容易受到纯 HTTP 攻击,但这在您的应用程序中可能是可以接受的风险。)
在这个问题中有更多关于这个问题的内容(适用于 Tomcat 的内容对于任何 Web 服务器都是一样的,包括 IIS):Tomcat session management - url rewrite and switching from http to https
关于internet-explorer - IE 保护模式 + SSL 登录 = 非 SSL 页面无 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6658620/