可能大家都对 IE 环境下访问 HTTPS 站点的一些安全警告有过接触,比如 HTTP 和 HTTPS 之间的互相跳转会弹出警告……; 但是这并不是全部, IE 环境下访问 HTTPS 站点还有很多类型的安全警告,下面将一一道来; 以后如果大家遇到此类提醒也可以知道是怎么回事,对解决一些用户的疑问也会有所帮助; 第 1 类: 进入或离开安全页面 这里说的安全页面就是通过 HTTPS 进行访问的页面;这类型的警告是最常见的; 该类型的警告可以被关闭,勾选《以后不再显示该警告》即可,对应于 Internet 选项 – 高级 – 在安全和非安全模式之间转换时发出警告 此选项; 若没有勾选上面提到的选项,则每次页面的切换都会出现一次这个警告,比如 HTTP — > HTTPS — > HTTP — > HTTPS ,这样就会跳出三次! 注意:这里的进入或离开安全页面指的是同一页面内的页面跳转,比如在http页面中通过标签跳转到安全页面,一般目标页面的http返回状态码为200;若通过iframe嵌入的方式,则不会出现该警告,比如http页面中包含了一个iframe,iframe内的页面为https的,这样是不会弹出警告的; 第2类: 从安全页面重定向到非安全页面
这种情况一般出现在https页面内部操作完成之后,通过redirect的方式重定向到一个http的url,此时就会跳出警告,而且无法避免;比如我们在https login页面进行登陆,到login!validate.jspa验证,成功之后重定向到http页面;此时登陆验证地址login!validate.jspa的http返回状态码为302; 第3类: 安全页面中包含有非安全元素
这种情况一般出现在https页面中引用了http页面元素,比如引用了 http://xxx.com/a.jpg、js、css等;MS该警告信息也无法避免,只能要求我们系统实现时尽量避免在同一页面中包括http和https两种类型请求; 第4 类: 证书发行方为不信任机构 该类型的警告出现在:发行方的证书发行方不在 IE 信任的发行方列表中;比如我们 ali 的内网,他的证书是自签名的,所以不在 IE 的信任列表中; IE 信任的发行方列表可以参考 Internet 选项 – 高级 – 证书 – 受信任的根证书颁发机构 选项,比如我们所熟知的 verisign 就在此信任列表中; 若证书是通过信任列表中的颁发机构签名认证的,则不会出现此警告,比如 alipay.com , trade.alisoft.com ; 该警告只会在第一次访问不被信任 https 站点时出现,如果 IE 不关闭,继续浏览该站点的话是不会再次出现该警告的; 若要屏蔽掉该警告的话,网上有一些建议,比如取消勾选 Internet 选项 – 高级 – 对无效站点证书发出警告 / 检查发行商的证书吊销 这两项;但是我在好几台机器上测试了一把,遗憾的是都没有成功,所以暂时还没有找到能够去掉这个警告的办法,不知其他同学有没有好的 method ? 第 5 类: 试图打开受信任站点列表 该类警告只有在从非受信站点访问受信站点时出现,而且无法屏蔽(我没有找到办法,不知其他同学有没有办法?);非信任站点间、信任站点间、信任站点到非信任站点 都不会出现此警告; 这里的受信站点指的是 Internet 选项 – 安全 – 受信任的站点 中添加过的站点; 第 6 类: 选择数字证书 该类应该算提示信息,而非安全警告;一般出现在客户端需要向服务器端出示证书的时候,比如我们的内网系统,每个人都需要向 intranet 申请一个数字证书,服务器端依靠发行给用户的证书来判断是否为合法访问用户; 该类提示信息可以屏蔽掉,将需要访问的站点添加到受信站点列表中即可;若不在受信列表中,则该提示在第一次访问站点时出现,若 IE 不关闭,之后不会再次提示; 以上几类警告可能会同时出现,这样你就需要点击很多个确认,允许之类的按钮,可以按照自己的需要屏蔽掉一些烦人的提示信息,呵呵;