避免使用SSL“您将被重定向到不安全的连接。”消息

问题描述 投票:9回答:8

我有一个登录屏幕,我通过SSL服务。用户填写他们的登录名/密码,这将被POST到服务器。此时我想跳出SSL,所以我将它们重定向回没有SSL的同一页面。

这会导致浏览器显示警告对话框“您将被重定向到不安全的连接”。我怎么能避免这个?我有很多网站,比如yahoo mail和gmail,它们为你提供了登录的SSL页面,然后在此之后将你发送到非SSL页面。

次要问题:这个对话的目的是什么?它试图警告我一些邪恶的目的 - 但将某人重定向到非SSL页面有什么不好?当我在SSL页面上并单击非SSL链接时,我不会收到警告。重定向某人有什么不同?

我在ASP.NET 2.0中这样做 - 但我认为这是一个通用的web-dev问题。

更新摘要:似乎流行的答案是“不要避免它”。我可以理解,用户应该在删除安全性时收到消息。但是,当我关注链接并删除安全性时,我没有得到对话框,所以至少我会说这是不一致的。

对话框/浏览器版本。我实际上没有在IE7 / FF3中看到对话框(也许我点击了一个阻止它的复选框)。更重要的是客户端在IE6中看到它 - 没有复选框删除它(是的,我知道IE6是旧的和废话)。

Firefox2:FF2 http://img521.imageshack.us/img521/8455/sslwarning.jpg

IE6:IE6

替代方案:使整个站点成为SSL,永远不要将用户重定向到SSL之外。我能解决这个问题。但我有一个半技术客户,他有一些相当不错的观点:

  • “SSL将导致流量/处理能力的提高”。我真的不买这个,我不认为他的网站每个都需要不止一个盒子来服务它。
  • “雅虎做到了。雅虎是一家大型技术公司。你比雅虎聪明吗?”

我将尝试将客户端转移到完全SSL站点。我认为雅虎的方法在1996年是有意义的,或者对于一个更受欢迎的网站而言。一些官方链接解释了为什么这个对话发生会有所帮助(即雅各布尼尔森的真实性水平)。

ssl
8个回答
8
投票

我曾经遇到过同样的问题。所以我看看里面的小提琴手,看看雅虎邮件是怎么做到的。这是我看到的步骤(并在我的网站上使用):

用户填写SSL加密表单,并POST到服务器。服务器进行身份验证,并吐出一些脚本来重定向客户端

<script language="JavaScript">
<!--
window.location.replace("~~ non-SSL URL ~~");
// -->
</script>

我认为客户端代码是为了避免这个对话框。


5
投票

“我怎么能避免这种情况?”

你不应该!

虽然您可以尝试使用JavaScript。这可能适用于某些浏览器,而其他浏览器则失败。

“这个对话的目的是什么?”

它会发出警告,因为用户通常会在网站上切换SSL和非SSL。不会发出关于“非SSL到SSL”的警告,因为它增加了安全性和隐私性。但是,当安全性突然降低时,用户应该快速注意到,以避免错误的安全感。事实上,有时会在XSS / MITM攻击中使用重定向到非SSL站点。

“SSL将导致流量/处理能力的增加”

这是无稽之谈。对于充满大型静态内容的网站来说,这可能是真的。但是,对于普通的动态Web应用程序,与业务逻辑,数据库访问等相比,加密非常便宜。

有一个城市传说说浏览器没有缓存SSL内容。有关更多信息,请参阅“qazxsw poi”。

“雅虎做到了。雅虎是一家大型技术公司。你比雅虎聪明吗?”

一些修辞反问题:

  • 你是像雅虎这样的大型技术公司吗?
  • 作为一家大型技术公司是否阻止微软生产蹩脚的软件?
  • 您是否必须支持糟糕的旧(SSL破坏)浏览器,因为雅虎必须这样做?

1
投票

这可以防止的攻击是一个中间人的SSL会话带。信息是有充分理由的。


1
投票

至于目的:这是为了让您意识到您的连接不再是SSL加密的。您之前可能已经看到连接已加密并且可能认为它仍然存在,因此此警告说“只是要清楚,您从此处发送的任何数据都将是纯文本”。

至于如何抑制它: AFAIK你不能,它是一个浏览器的东西,否则消息的重点是什么? 即使有像客户端重定向这样的解决方法,我也不认为你应该尝试解决像这样的客户端“问题”。如果浏览器选择了详细,请让它。 毕竟,对话框上有一个“不再显示此内容”复选框 如果用户希望压制此消息,他可以轻松地这样做,也许他真的喜欢看到它。 此外,恕我直言,如果浏览器值得它的盐,它仍然会弹出这个警告,即使你采用客户端重定向技巧。


1
投票

首先在整个页面中使用SSL!

SSL没有任何问题。您应该在任何地方提供用户隐私,而不仅仅是登录时。这对整个网站都有意义。因此,只需将所有非SSL页面重定向到SSL页面并保留所有SSL。


1
投票

只需将您的客户端指向针对混合模式内容的最新攻击(在fscked.org上查找CookieMonster)和代理攻击(针对http和https中可用的站点,查找Pretty-Bad-Proxy)。他可能会重新考虑。

如果你只处理一个协议而不混合两个协议,那么获得安全性要容易得多。 SSL增加了一些开销,但与违规成本相比,它没什么。


0
投票

Gmail,雅虎等使用SSL进行身份验证的加密iframe,但没有您正在谈论的页内重定向。这些登录系统的整个页面未加密。


0
投票

阅读:Will web browsers cache content over https,它说这是在修补程序或更改的注册表设置中修复。但是,并非我们使用的所有IE6 cpu都有这个问题,它们的注册表设置也不符合本文所说的内容。还有一些给msg的是XPsp3和IE6 sp3。

我们有一个https登录屏幕,使用代码登录到其他15个(http)域,我们的一些IE6用户必须单击“是”15次。这对他们来说是不可接受的。不,我们无法控制所有用户使用的浏览器。有些与升级到IE7不兼容。

我们正在寻找一些配置属性供每个用户调整,以抑制这个消息。我们同样使用与不提供消息的设置相匹配的“坏”浏览器。 Internet和Intranet安全和高级设置和代理(无)。还有网络连接。到目前为止没有喜悦。

有任何想法吗?

© www.soinside.com 2019 - 2024. All rights reserved.