none
安全登录问题 RRS feed

  • 问题

  • 我分析了一些网站的登录。发现他们登录都是产生一个随机字符串,然后一起提交的。
    我想问问,这个原理是怎样的。服务器怎么识别这个随机的字符串?
    • 已移动 孟宪会Moderator 2009年6月18日 12:48 ([Loc]From:.NET Framework 一般性问题讨论区)
    2009年6月18日 11:31

答案

  • 只是将密文随机化而已,解密之后这个随即字符串会被忽略。
    Please mark the post answered your question as answer, and mark other helpful posts as helpful. This posting is provided "AS IS" with no warranties, and confers no rights.
    • 已标记为答案 ogra 2009年6月20日 1:13
    2009年6月18日 18:46
    版主
  • 你说的这个串包含了用户信息,
    1 登陆成功后把这个个串存到 Cookie 里,下次登陆时取这个串的信息登陆。 
    2 第一次成功登陆后把这个串存到数据中下次登陆判断这个串在数据库存不存在来确定是否成功登陆,
    3 将用户信息加密后,在服务端再解密

    知识改变命运,奋斗成就人生!
    2009年6月18日 19:07
    版主
  • 我担心的是这个。一般我们网站后台,都是用session保存信息。但是session有可能泄露么?还有,我看有的代码就是很简单的,如果登录验证通过了。就一个session("IsAdmin")=1之类的验证。那这些简单的session会被人构造出来么?应该怎样构造session才比较安全?
    • 已标记为答案 ogra 2009年6月20日 1:13
    2009年6月19日 22:59
  • inproc
    • 已标记为答案 ogra 2009年6月20日 1:13
    2009年6月20日 0:32
  • Session 是运行在服务端的,是安全的
    知识改变命运,奋斗成就人生!
    2009年6月20日 1:02
    版主

全部回复

  • 只是将密文随机化而已,解密之后这个随即字符串会被忽略。
    Please mark the post answered your question as answer, and mark other helpful posts as helpful. This posting is provided "AS IS" with no warranties, and confers no rights.
    • 已标记为答案 ogra 2009年6月20日 1:13
    2009年6月18日 18:46
    版主
  • 你说的这个串包含了用户信息,
    1 登陆成功后把这个个串存到 Cookie 里,下次登陆时取这个串的信息登陆。 
    2 第一次成功登陆后把这个串存到数据中下次登陆判断这个串在数据库存不存在来确定是否成功登陆,
    3 将用户信息加密后,在服务端再解密

    知识改变命运,奋斗成就人生!
    2009年6月18日 19:07
    版主
  • sheng jiang的回复没看懂。X.X.Y的回复比较接近。他的确在cookie里保留了很多串。但每次登录,这个串都是随机的。也就是说是变化的。每登录一次,就生成一个随机串的cookie。不知玄机在哪。是不是cookie有短暂的过期时间。但服务器难道每次登录都返回一个随机串么。那这个随机串似乎没什么用。直接设置过期时间不就完了?
    2009年6月18日 23:30
  • 过期时间是cookie的属性
    cookie的内容默认就一个sessionid而已,

    Please mark the post answered your question as answer, and mark other helpful posts as helpful. This posting is provided "AS IS" with no warranties, and confers no rights.
    Visual C++ MVP
    2009年6月18日 23:56
    版主
  • 你好,那个是SessionID吧,存储在Cookie中。机器有一个类似字典一样的东西,对照后取出值。
    邹俊才
    2009年6月19日 15:32
    版主
  • 我担心的是这个。一般我们网站后台,都是用session保存信息。但是session有可能泄露么?还有,我看有的代码就是很简单的,如果登录验证通过了。就一个session("IsAdmin")=1之类的验证。那这些简单的session会被人构造出来么?应该怎样构造session才比较安全?
    • 已标记为答案 ogra 2009年6月20日 1:13
    2009年6月19日 22:59
  • 得看session的保存方式了,如果你在数据库里面保存的话,建议将敏感字段加密。
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful. This posting is provided "AS IS" with no warranties, and confers no rights.
    Visual C++ MVP
    2009年6月19日 23:02
    版主
  • inproc
    • 已标记为答案 ogra 2009年6月20日 1:13
    2009年6月20日 0:32
  • Session 是运行在服务端的,是安全的
    知识改变命运,奋斗成就人生!
    2009年6月20日 1:02
    版主