zoukankan      html  css  js  c++  java
  • 谈谈360浏览器保存密码的差异

    多事之夏,最近黑阔大牛们经常光顾我们网站,不甚荣幸,也让我们老大没少加班。上指纹系统,开safe_mode,重新编译PHP等等,安全警戒一度提到最高。

    在用户登录方面,为了用户密码安全,我们在用户输完密码点击提交后,js自动给密码加上MD5,然后再传输到服务器。这样即使密码被嗅探到了,也是加密后的密码。

    先看代码:

     1 <script>
     2 functionMD5(){
     3 //MD5加密算法,细节省略
     4 }
     5  
     6 functioncheck(){
     7 //提交前将用户的密码用MD5加密
     8 form.password.value=MD5(form.password.value);
     9 returntrue;
    10 }
    11 </script>
    12 <form onsubmit="return check();">
    13 用户名:<input type="text"name="username"><br>
    14 密码:<input type="password"name="password"><br>
    15 <input type="submit"value="提交">
    16 </form>
     

    假设浏览器已经开启了保存密码功能,用户在输完账号密码并提交后,点击保存密码。在这一过程中,主要发生了如下几个事件:

    用户填写用户名密码 → 点击提交 → 触发check() → 将密码输入框的密码MD5加密 → 将数据提交到服务器

    我们的浏览器是在哪一步记录了密码呢?

    第二步,在点击提交按钮时,浏览器抓取了输入框的值,并保存下来,而后面发生的事情,它并不关心。 那么我们下次登录时,会发现密码输入框仍然是明文密码(虽然我们看不到,但可以通过密码长度判断)。

    但是,只有在360浏览器中,保存的密码是长长的32位MD5加密后的密码。也就是说,360浏览器并不是在用户点击提交后记录输入框的内容,而是在最后一步,将数据提交到服务器时,360浏览器截取了这部分数据,并保存下来。

    因为密码存在用户自己电脑上,并且不容易查看,所以从安全性考虑,不管保存明文还是密文,没什么区别。但是从保存密码的方式来看,360通过截取用户数据来记录密码,实在太流氓了。

    91ri.org:文章写的很清楚了 就不说了

    link:http://www.zyday.com/archives/567.html

  • 相关阅读:
    启明星门户网站Portal发布V4.5,并兼论部分功能的实现
    修改SQL数据库dbo所有者
    iphone& android 开发指南 http://mobile.tutsplus.com
    启明星会议室预定系统V5.0.0.0版本说明
    启明星Portal企业内部网站V4.3版 附演示地址 http://demo.dotnetcms.org
    在winform程序里实现最小化隐藏到windows右下角
    【门户网站】启明星Portal系统里,关于天气预报调用的说明
    获取客户端经纬度坐标
    修改表名或者列名SQL
    ER图
  • 原文地址:https://www.cnblogs.com/yanduanduan/p/7160019.html
Copyright © 2011-2022 走看看