1、客户端安全(表现为数据录入时的安全)
2、客户端到服务端之间信息传输安全(也就是你提到的数据传输时的安全)
3、服务端的安全(服务端密码存储的安全)
应该说是绝大多数网站因为安全界别的关系只要保证服务端安全就可以了,所以你看到的很多网站都是明文传输的!
如果非明文,有几种做法:
1、HTTPS,做加密签名
2、js加密后传输(不确定,因为很少这样做,但我觉的应该是可以的)
3、做浏览器插件,进行数字信息保护。
但其中还有问题。
1、2都无法做到绝对的安全,因为键盘是可以程序监控的。智能保证客户端到服务端传输过程中的安全。
3可以做模拟键盘,点击输入。相对来说无法做到键盘监控,而且传输数据也有保障。
2用JS加密因为JS脚本本身就是可下载的,所以加密方式泄露也会产生不安全问题。而且我很少看到有用JS加密后进行传输的。
其实能看出要做到绝对的安全,成本比较高。所以网站基本都会评估自己对帐号信息所要保证的安全级别再结合自己本身的业务来选择做到什么程度。
安全界别最高的,涉及到金钱交易,比如:电子商务,网银等。都采用第3种做法。
安全界别稍高的,需要注意到信息丢失代码的一些列影响,比如,微博的APP种的API KEY等信息丢失带来的一系列后果和影响。
所以一般明文传输的网站用户协议里面应该会包含用户应该自己保证自己的帐号安全,如果是用户丢失的(未到达服务端之前),后果由用户承担,如果网站弄丢了,则站方承担责任。
明文传输成本较低,而且一些网站不需要那么高级别的要求,再加上如果真用高级别的安全来要求一些不需要很高安全级别的网站,也会带来一系列很麻烦的问题。你希望在你上知乎的时候下载安装插件吗?估计你会逼疯。
所以明文传播也比较正常。