https-由于安全问题,网站登录改为https模式验证,如何实现?

前端开发 前端开发 主题:1148 回复:2395

https-由于安全问题,网站登录改为https模式验证,如何实现?

清晨说ぺ晚安 发布于 2017-05-04 字数 234 浏览 1101 回复 2

目前由之前的http验证改为https模式安全验证,有没有比较成熟的解决思路?
对现有的系统最好可以做到无缝对接。

这个问题(http://www.dewen.net.cn/q/1375)说了一些,但是我比较关注https的实现方式,请做过的提供下思路,谢谢。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(2

归属感 2017-10-27 2 楼

购买或生成证书
保证页面中没有http或https开始的绝对路径引用的图片,CSS等
对于希望使用HTTPS的页面明确写HTTPS
在服务器端对部分请求设置从HTTP到HTTPS的重定向

HTTPS的实现方面不用操心,如无特殊需要,可以认为与HTTP没有本质区别,加密解密均由服务器和浏览器实现

偏爱自由 2017-07-31 1 楼

浏览器的同源策略要求当前域和被请求域的域名、端口和协议必须相同,其中有一点不同就会认定为跨域,因此,题目的一方面其实是考察前端开发中比较经典的跨域问题,这里是协议不同,属于完全跨域。
前端开发中跨域问题的解决,想必各位同仁都有一定的了解,像JSONP、iframe跨子域、Window name传输、postMessage方法等等,当然不同的方案会有不同的适用情形。
在题目里,需求的变更是为提高登录的安全性,由XHR的同域HTTP更换为SSL方式,即接口协议要换成HTTPS(它如何保证安全性,请自行Google),JSONP不具有安全性,首先排除掉。题目属于完全跨域,跨子域的方案自然是行不通的,因此把关注点放在postMessage和window name跨域上面。
postMessage属于浏览器的新特性,目前(IE8+、chrome、safari、
Firefox、Opera)等浏览器均已支持这一特性,可以用postMessage实现主页面和iframe的通信(完全跨域也是可以的),可以考虑使用postMessage在iframe和主页面之间实现相互通信。具体实现:在接口服务器(HTTPS)部署一个代理文件proxy.htm,这个HTTPS协议的代理页面就可以用XHR方式和同源的HTTPS协议的接口通信了。至此,较先进的浏览器中的这个问题得到解决。
但是,目前国内IE6、IE7及相应内核的浏览器,依然占据着很大的浏览器市场份额,对于这部分浏览器,考虑采用window name传输的方式,来实现主页面和iframe的通信了,具体window name的实现细节,在这里就不再描述了,大家可以参考怿飞的博文《使用 window.name 解决跨域问题》http://www.planabc.net/2008/09/01/window_name_transport/
主页面和iframe之间的通信能保证相对安全性,真正和服务器之间的通信是经过HTTPS加密过的,因此能在一定程度上保证了信息安全。