如何保证Cookie自动登录的安全性

标签: cookie 登录 安全 | 发表时间:2017-08-08 17:24 | 作者:千絮泠泉
出处:http://www.iteye.com
http://blog.163.com/chenhao0528@yeah/blog/static/172439055201302494945617/

方法一:
将用户的认证信息保证在一个cookie中,具体如下:
1.cookie名:uid。推荐进行加密,比如MD5('站点名称')等。
2.cookie值:登录名|有效时间Expires|hash值。hash值可以由"登录名+有效时间Expires+用户密码(加密后的)的前几位 +salt",salt是保证在服务器端站点配置文件中的随机数。
这样设计有以下几个优点:
1.数据库被盗了,盗用者还是无法登录到系统,因为组成cookie值的salt是保存在配置文件中而非数据库。
2.如果账户被盗了,用户修改密码,可以使盗用者的cookie值无效。
3.如果服务器端的数据库被盗了,通过修改salt值可以使所有用户的cookie值无效,迫使用户重新登录系统。
4.有效时间Expires可以设置为当前时间+过去时间(比如2天),这样可以保证每次登录的cookie值都不一样,防止盗用者 窥探到自己的cookie值后作为后门,长期登录。

方法二:
  每个用户登录之后生成一个随机的GUID,然后把GUID存在数据库里面(也可以考虑使用Redis,把用户信息和随机 GUID以KEY-VALUE方式存储 GUID-用户信息,存储时设置超时时间,比如20分钟,每次验证用户信息都自动延长20分钟。如果用户选择记住登录,则设置时间为30天)。安全要求高的话,每次重新登录(包括用用户名密码和使用GUID)都重新生成GUID,旧的作废,这样在新的地方登录之后旧的记住登录就自动失效。安全要求低的话可以每次都返回相同的,直到用户修改密码之后让旧的GUID作废。用户Cookies里面没有直接和用户名、密码有关的内容,即使Cookies被盗 了也没法修改密码,原用户发现账号异常之后只要修改密码就可以防止盗号了。

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [cookie 登录 安全] 推荐:

如何保证Cookie自动登录的安全性

- - 研发管理 - ITeye博客
将用户的认证信息保证在一个cookie中,具体如下:. 推荐进行加密,比如MD5('站点名称')等. 2.cookie值:登录名|有效时间Expires|hash值. hash值可以由"登录名+有效时间Expires+用户密码(加密后的)的前几位 +salt",salt是保证在服务器端站点配置文件中的随机数.

文章: Cookie安全漫谈

- - InfoQ cn
在Web应用中,Cookie很容易成为安全问题的一部分. 从以往的经验来看,对Cookie在开发过程中的使用,很多开发团队并没有形成共识或者一定的规范,这也使得很多应用中的Cookie成为潜在的易受攻击点. 在给Web应用做安全架构评审(Security architecture review)的时候,我通常会问设计人员以下几个问题:.

Cookie/Session的机制与安全

- - Harttle Land
Cookie和Session是为了在无状态的HTTP协议之上维护会话状态,使得服务器可以知道当前是和哪个客户在打交道. 本文来详细讨论Cookie和Session的实现机制,以及其中涉及的安全问题. 因为HTTP协议是无状态的,即每次用户请求到达服务器时,HTTP服务器并不知道这个用户是谁、是否登录过等.

Google 将停止移动设备的免 cookie 登录支持

- - 谷奥——探寻谷歌的奥秘
尽管影响不广,但这一动作确实够大——Google 旗下的应用将不再支持不支持 cookies 的移动浏览器. Google 指出,受影响的主要是老款手机,以日本市场为主,这些手机将无法登录 Google 旗下的服务. 但不需要登录的业务,如 Google Maps 仍然可以通过过时的浏览器访问,而 Calendar 则将无法使用.

android WebView登录状态session id 和cookie同步

- - 移动开发 - ITeye博客
android客户端通过httpClient或者httpUrlConnection进行登录后,为了把登录状态同步到webView中,这时需要进行cookie的同步.         nvPairs.add(new BasicNameValuePair("gender", "男"));.                    //获取cookie的第一种方式.

你的隐私安全吗:Cookie到底是什么?

- - 博客 - 伯乐在线
这两天由于315的原因,Cookie这东西突然特别火,据说很多网友都忙着删掉自己 浏览器中的Cookie. 一开始我还觉得挺无聊的,央视不懂乱说什么啊. 直到前两天,家里一个亲戚跟我说:“原来我们上网干什么你们都知道啊,还看我们的邮件,这不一点隐私都没有了嘛. 我才意识到这个问题误导得太严重了,做为一个多年从事互联网Web开发工作的工程师,我觉得我应该说点什么.

JAVA年度安全 第四周 SESSION COOKIE HTTPONLY 标识

- - Web前端 - ITeye博客
Session cookies (或者包含JSSESSIONID的cookie)是指用来管理web应用的session会话的cookies.这些cookie中保存特定使用者的session ID标识,而且相同的session ID以及session生命周期内相关的数据也在服务器端保存. 在web应用中最常用的session管理方式是通过每次请求的时候将cookies传送到服务器端来进行session识别.

细说Cookie

- ~Wing~ - 博客园-首页原创精华区
Cookie虽然是个很简单的东西,但它又是WEB开发中一个很重要的客户端数据来源,而且它可以实现扩展性很好的会话状态, 所以我认为每个WEB开发人员都有必要对它有个清晰的认识. 本文将对Cookie这个话题做一个全面的描述, 也算是本人对Cookie的认识总结. Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递.

LTPA Cookie原理

- - Web前端 - ITeye博客
Lightweight Third-Party Authentication (LTPA)是IBM Websphere和Domino产品中使用单点登录技术. 当服务器配置好LTPA认证方式,用户通过浏览器成功登录后,服务器会自动发送一个session cookie给浏览器;此cookie中包含一个LTPA Token.

session和cookie详解

- - ITeye博客
摘要:虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一 技术. 本文将详细讨论session的工作机制并且对在Java web application中应用session机制时常见的问题作出解答. 二、HTTP协议与状态保持.