如何设计相对安全的cookie自动登录系统

来源:本站转载 作者:佚名 时间:2013-07-29 TAG:我要投稿

很多网站登录的时候,都会有一个“记住我”功能,用户可以在限定时间段内免登录,比如豆瓣、人人、新浪微博等都有这种设计。这种技术其实就是基于cookie的自动登录,用户登录的时候会把需要验证的token写到cookie里面,当用户session失效的时候,token会通过cookie发送给服务器端,服务器端解析token判断是否已经登录;这里面的token如何设计是关键,到底存什么数据才能保证系统的安全性呢?

有些新手可能会想,把用户id和password直接md5加密存到cookie,这样做是最糟糕的设计,用户的敏感信息直接暴露出来,黑客可以伪造别人的id进行尝试性登录,可以想象黑客知道了admin账号的id,试过几千几万次,密码和加密算法很可能破解出来。

token要相对安全,不应该是简单的用户名和密码md5加密,用户密码其实完全可以不用存进去,分两步来做:

1)token是一些信息的组合,用户id+用户名+expires过期时间+ip地址+salt,具体加密算法最好自己写,不能使是常见的加密函数(md5),当然这个加密函数必须可逆,这个token我们同时要保存在用户表数据库里面,set cookie的时候记得http only;

2)服务器端拿到cookie之后,进行逆解析,这个时候我们要验证如下信息:cookie是否过期、ip地址是否发生变化、用户id和用户名是否存在;用户存在之后,我们再拿这个token跟第一步存在数据库中的token进行比较,看是否相等,如果不等说明token已经过期,这样做可保证每次用户登录之后token值都不一样,之前用过的token都会失效;

来源:本站转载 作者:佚名 时间:2013-07-29 TAG:我要投稿

很多网站登录的时候,都会有一个“记住我”功能,用户可以在限定时间段内免登录,比如豆瓣、人人、新浪微博等都有这种设计。这种技术其实就是基于cookie的自动登录,用户登录的时候会把需要验证的token写到cookie里面,当用户session失效的时候,token会通过cookie发送给服务器端,服务器端解析token判断是否已经登录;这里面的token如何设计是关键,到底存什么数据才能保证系统的安全性呢?

有些新手可能会想,把用户id和password直接md5加密存到cookie,这样做是最糟糕的设计,用户的敏感信息直接暴露出来,黑客可以伪造别人的id进行尝试性登录,可以想象黑客知道了admin账号的id,试过几千几万次,密码和加密算法很可能破解出来。

token要相对安全,不应该是简单的用户名和密码md5加密,用户密码其实完全可以不用存进去,分两步来做:

1)token是一些信息的组合,用户id+用户名+expires过期时间+ip地址+salt,具体加密算法最好自己写,不能使是常见的加密函数(md5),当然这个加密函数必须可逆,这个token我们同时要保存在用户表数据库里面,set cookie的时候记得http only;

2)服务器端拿到cookie之后,进行逆解析,这个时候我们要验证如下信息:cookie是否过期、ip地址是否发生变化、用户id和用户名是否存在;用户存在之后,我们再拿这个token跟第一步存在数据库中的token进行比较,看是否相等,如果不等说明token已经过期,这样做可保证每次用户登录之后token值都不一样,之前用过的token都会失效;


相关内容

  • 在线课程存在的问题及改进的探讨
  • 关于在线课程存在的问题及改进的探讨 李德峰 (秦皇岛广播电视大学 政法系 066001) 摘 要:本文根据自己的学习和工作实践对中央广播电视大学和英国开放大学联合推出的在线学习课程进行了评价探讨,指出了该课程平台及课程内容的一些不足之处,并从技术层面和内容层面提出了改进的建议,以期完善这一教学平台. ...

  • 毕业设计-基于Web在线作业提交批改系统
  • 引 言 在国内,从学生作业管理系统的管理情况来看,在现代化教育技术模式下,使用计算机提交作业已相当普及.但能够合理使用硬件资源,有条理地管理好学生作业信息的却少之又少. 通过网络的了解,已经有不少高等学校已经推出了自己的作业上传系统.但是由于实现技术有限,系统的功能不完善,而且存在很多缺陷.例如:查 ...

  • 电子商务安全现状分析及对策的研究
  • 摘要:随着互联网技术和经济全球化进程的快速发展,不仅给电子商务带来一种新型模式而且还为电子商务的创新提供了巨大空间,缩短了人们之间的空间距离,提高了商务效率,降低了成本的同时,随之带来了安全性的问题.本文首先对引起电子商务安全的问题进行研究,并提出保证电子商务安全的解决对策. 关键词:电子商务信息安 ...

  • 管理中的应用--排队论及其应用(超值教程)
  • 运筹学在物流管理中的应用 第六讲排队论及其应用 主讲:秦明森 统:在商店买东西,售货员和顾客构成一个服务系统:在机场,要求降落的飞机和机场跑道构成一个服务系统:车间里的机器 秦明森,1966年毕业于中国科技大学数学系,长期从事运筹学应用研究和物流技术开发工作,先后组织并参加了二十多项国家重点科技项目 ...

  • 网上书店(电子书店)论文
  • 河南工程学院毕业设计(论文) 网上书店 学生姓名 PP 院(系) 专 业 计算机网络技术 指导教师 年 月 日 摘 要 本电子书店主要实现商城购书功能,分为用户界面和管理者界面,及购书者的浏览购买界面和买书者的管理图书分类.发货管理界面,实用性很强,页面视觉新颖独特,操作简单方便,是网上书店管理者的 ...

  • 企业信息门户单点登录系统的实现
  • 计 算 机 工 程 第 31 卷 第17期 Vol.31 № 17 Computer Engineering · ·网络与通信 文章编号:1000-3428(2005)17-102-03 文献标识码:A 2005年9月 September2005 中图分类号:TP18 企业信息门户单点登录系统的实现 ...

  • 清理历史记录
  • 1.清除最近使用过的文档记录 以Windows XP为例,右键点击"开始"按钮,选择"属性",在弹出的设置任务栏和开始菜单属性对话窗中点"自定义"按钮,在"自定义开始菜单"对话框中的"高级"标 签下点 ...

  • 物流运输系统毕业论文
  • 第一章 绪论----------------------------.-4 1.1 前言 -----------------------------..4 1.2 国内外有物流管理发展研究状况--------------.----.4 1.3 搭建物流信息平台的必要性和难度------------- ...

  • 留言板的处理流程及其实现过程
  • 留言板的处理流程及其实现过程 项目背景 @本网站的<莘莘之音>节目中每一期节目下面的留言功能就是按照本文的思路实现的@ 在日常的网站制作的项目中,往往会带上留言板的功能.主要的目的是让网站用户能够在本站进行留言,以此方式来进行社区化的交流.另一方面还可以让版主或者站长看到用户的意见建议和 ...