zoukankan      html  css  js  c++  java
  • 解决通过Cookie进行网站自动登录的安全性问题

    有很多Web程序中第一次登录后,在很长时间内再次访问同一个Web程序时就无需再次登录,例如博客园本身和一些音乐2.0网站。实现这个功能关键就是服务端要识别客户的身份。而用Cookie是最简单的省份验证。通过把userID和密码保存在cookie中就能自动登录。这样很容易被人修改cookie而仿冒他人进行登录,安全性不好。

    解决办法是配合服务器端的验证,很多人用session持久化的方法,个人觉得不太好,我想到的实现方法是:

    1. 用户每次登录时,服务器端生成一个唯一验证码,例如36位的GUID,存入数据库用户表中。同时保存该验证码到Cookie。

    2. 用户访问网站时,例如访问 /home?uid=43845958,首先检查cookie里的UserID,如果没有就跳转到登录页面。然后再检查cookie里的验证码,如果和服务端数据库里的验证码一致,就说明是用户本人,否则跳转到登录页面。

    3. 好处是如果用户篡改了cookie的UserID仿冒别人,也不会通过服务器端的验证码验证。

    (这个cookie/或者叫token的原理和反CSRF攻击的原理类似。)

    暂且想到的就这些,如果有更佳实践请不吝告知。

  • 相关阅读:
    四校联考【20171001】
    C语言基础知识
    页表和TLB
    python
    Cache组织方式
    On the Spectre and Meltdown Processor Security Vulnerabilities
    latex-组织文本
    深入理解计算机系统
    深入理解计算机系统-计算机系统漫游
    逻辑地址到物理地址的转换
  • 原文地址:https://www.cnblogs.com/Mainz/p/1529334.html
Copyright © 2011-2022 走看看