我希望在HTTPS登录后将用户重定向到站点上的HTTP页面.对整个站点使用HTTPS不会发生.
到目前为止我所拥有的是以下内容:
用户将登录表单发布到安全站点
安全服务器验证凭据
安全服务器向客户端发送302重定向
这是有效的,除了在IE6中的我的机器上,用户收到错误消息,因为默认是在退出安全页面时发出警告.这些错误对我来说是一个可用性杀手,因而是一个显而易见的问题.我改变它,以便第3步
服务器发送带有元刷新的html代码
但这很慢; 即使在我的本地机器上,它也明显慢于302重定向.
有没有更好的方法来实现人们使用的标准设置上无障碍重定向的目标?IE6占我们流量的20%-25%.此外,是否有人有任何关于哪些浏览器会发出警告以及哪些浏览器不会警告302重定向的好信息?我正在考虑黑名单IE6,以便只有它获得缓慢的元刷新,其他人获得快速302.
恢复旧的主题,但要使其能够发布以下内容,以便其他开发人员可以选择实施
在没有警告消息的情况下将https转换为http之间的一种方法是使用javascript使用客户端重定向.
脚步
用户在https表单上输入登录详细信息,然后单击登录按钮
登录按钮将回发到https表单进行登录验证(假设登录正确)将重定向到保持页面,该页面也在https下并显示消息(请在站点重定向时等待)
此保留页面将javascript重定向到http页面
不会显示浏览器警告消息
HTH
我正在考虑黑名单IE6,以便只有它获得缓慢的元刷新,其他人获得快速302.
我会做那样的事情.还包括正文中的纯HTML链接以便访问.
请注意,其他一些浏览器确实提供了关于离开HTTPS站点的类似警告,但在他们的情况下,它伴随着(通常是预先勾选的)"不要再问我"按钮.因此,当他们到达您的网站时,他们几乎肯定会告诉警告消失.这不会使警告毫无意义,但至少可以缓解这个问题.
安全服务器向客户端发送302重定向
你不应该302回应POST.认真对待HTTP RFC的理论浏览器可能会通过将表单重新发布到新URL来响应.(具有讽刺意味的是,这将使IE6对有关信息的警告"重新传输到不安全的网站"减少误导.)而是使用"303见其他".