首页 新闻 会员 周边

ASP.NET实现自动登录的Cookie中可以不要密码么?

0
悬赏园豆:50 [已解决问题] 解决于 2014-05-09 16:23

前一段面试跟一个面试官就自动登录问题讨论了很久,我一直认为自动登录就是把用户的用户名和加密后的密码以Cookie的形式存放在浏览器,当用户再次访问网站时从Cookie中取出用户名和密码,验证通过后进入已登录状态。 但面试官说只要存放用户名就可以了,其他什么也没说,我知道密码放在Cookie中不安全,但如果只存放用户名的话,要怎么实现自动登录呢?求大神解答!

七步、的主页 七步、 | 初学一级 | 园豆:78
提问于:2014-05-05 11:13
< >
分享
最佳答案
0

密码绝对不可能放cookie.这个不需要讨论.

自动登录一般是存的token在cookie里,这个token可以在数据库中验证登录状态.

这样来实现自动登录.这样即使cookie泄漏,至少密码是安全的.最多就是劫持回话

收获园豆:25
吴瑞祥 | 高人七级 |园豆:29449 | 2014-05-05 11:16

Token怎么用?Token放什么内容?

七步、 | 园豆:78 (初学一级) | 2014-05-05 13:47

@七步、: token就是一个唯一标识,放guid之类的.在服务器上接受到这个guid之后到数据库里去查询这个token对应的登录信息,一般像楼下说的会有超时时间,和一些其它的登录信息比如IP啊,地区啊,之类的

吴瑞祥 | 园豆:29449 (高人七级) | 2014-05-05 13:52

@吴瑞祥: 就相当于是把除密码以外的登录信息加密后存放在Cookie,服务器进行解密再验证信息?但这样也可以伪造Cookie啊

七步、 | 园豆:78 (初学一级) | 2014-05-05 14:02

@七步、: 能伪造说明你可以登录,再说没有绝对安全,

CIA还分安全等级呢,越安全越不易用,安全的意思是你为了保护1个亿个资产,不会愿意付出2个亿的保护费吧。如果你只有5万,让你付50万的保护费,通常你也是不肯的。铁路一个破网站几个亿,除了80%是公关费用以外,剩下20%里面大部分是安全和性能的,而不是功能费用。

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-05-05 14:22

@七步、: 不是加密,只是一个guid,数据都在服务器.别人得到cookie除了登录什么都做不了.

伪造cookie也只是劫持回话,至少不会泄漏密码

吴瑞祥 | 园豆:29449 (高人七级) | 2014-05-05 14:26

@吴瑞祥: 知道了,谢谢

七步、 | 园豆:78 (初学一级) | 2014-05-05 14:44
其他回答(5)
0

一般这样设计

UserName / Password /Token /LoginTime

Token每次登录的时候自动刷新,并且根据LoginTime过时,

如果要自动登录,保存Token就可以,如果发现Token相同并且LoginTime不超过过时时间,就让用户通过。

大概就是这样的意思了。

收获园豆:25
爱编程的大叔 | 园豆:30839 (高人七级) | 2014-05-05 11:24

Token怎么用?语法是怎样的?

支持(0) 反对(0) 七步、 | 园豆:78 (初学一级) | 2014-05-05 13:48

@七步、: 

Token 不是一个东西,就是一个说法,你随便弄个不重复的,比如GUID,就行。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2014-05-05 14:17

@爱编程的大叔: 哦,我还以为是个关键字呢

支持(0) 反对(0) 七步、 | 园豆:78 (初学一级) | 2014-05-05 14:43
0

出于安全考虑,正常情况下是不会把密码保存到cookie中的,不管多严密的算法都存在被破解的风险,特别是大站,目前基本上都是保存Token,如楼上所说。

D.lee | 园豆:194 (初学一级) | 2014-05-05 11:31
0

ASP.NET 的membership本身提供这个加密功能,当然只保存用户名,默认asp.net的登入控件是能直接识别,而且page中的user会被直接设置,具体请参考http://msdn.microsoft.com/zh-cn/library/system.web.security.formsauthentication(v=vs.110).aspx

56180825 | 园豆:1756 (小虾三级) | 2014-05-05 19:38
0

学习了,Token

男人要爽 | 园豆:6 (初学一级) | 2014-05-06 14:33
0

最近正好也在研究自动登录这一块,楼上的回答给了不少思路,谢谢分享

故乡的风 | 园豆:191 (初学一级) | 2018-03-16 16:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册