Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security web应用程序的自动登录_Security_Autologin - Fatal编程技术网

Security web应用程序的自动登录

Security web应用程序的自动登录,security,autologin,Security,Autologin,我们希望使用AutoLogin功能允许用户使用链接直接登录到我们的Web应用程序。实现这一目标的最佳方式是什么 我们有以下的想法 1) 在cookie中存储用户凭据(用户名/密码)。发送cookie进行身份验证 e、 g.http://www.mysite.com/AutoLogin(此处用户名/密码将在cookie中传递) 或在链接URL中传递用户凭据 http://www.mysite.com/AutoLogin?userid=&password= 2) 生成randon令牌并将用户随机令牌

我们希望使用AutoLogin功能允许用户使用链接直接登录到我们的Web应用程序。实现这一目标的最佳方式是什么

我们有以下的想法

1) 在cookie中存储用户凭据(用户名/密码)。发送cookie进行身份验证

e、 g.http://www.mysite.com/AutoLogin(此处用户名/密码将在cookie中传递)

或在链接URL中传递用户凭据

http://www.mysite.com/AutoLogin?userid=&password=

2) 生成randon令牌并将用户随机令牌和用户IP存储在服务器端数据库中

当用户使用链接登录时,验证服务器上的令牌和用户IP

e、 g

http://www.mysite.com/AutoLogin?令牌=

第一种方法的问题是,如果黑客将链接/cookie从用户机器复制到另一台他可以登录的机器上

第二种方法的问题是,在代理之后,同一组织的所有用户的用户ip都是相同的


从安全角度来看,从上面看哪一个更好?如果有比上面提到的更好的解决方案,请告诉我们。

从安全角度来看,从上面看哪一个更好?

两者都不好,但以明文形式存储密码是一种罪恶。请不要考虑它。

如果有比上述更好的解决方案,请告诉我们。

不要实现自动登录。它永远不会是安全的。

唯一安全的“自动登录”是在正常登录后设置的cookie,当用户返回站点时进行验证。cookie应该在一段合理的时间后过期。您的第一种方法与此类似,但您没有解释他们的用户名和密码是如何存储在cookie中的。存储一系列至少包含以下内容的cookie,而不是以明文形式存储:

  • 他们的用户名
  • 有效期
  • 先前项的签名哈希。签名意味着散列包含一个只有站点知道的秘密,并且从未向任何人透露。当cookies返回给您时,请重新签名前两项,并将签名与cookie中的签名进行比较。如果它匹配,你知道它来自你,没有被篡改,所以你可以让他们进来