Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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
Php 可选的基于URL的授权,以避免登录cookie_Php_Security_Url_Authentication_Cookies - Fatal编程技术网

Php 可选的基于URL的授权,以避免登录cookie

Php 可选的基于URL的授权,以避免登录cookie,php,security,url,authentication,cookies,Php,Security,Url,Authentication,Cookies,基本上,我想要的是使用一种替代登录cookie的方法,因为它们在技术上是可以猜测的(有一些方法可以应对这种情况,但是为什么不完全消除这种威胁呢) 我想到的是一个带有大的请勿在公共计算机上使用的警告的系统,该警告将允许用户自动登录,而不是使用cookie,而是通过以下URL,例如/login/email@example.com/我的密码 我想问的是,我应该费心创建这样一个系统,还是它会造成更多的安全漏洞?一方面,基于cookie的one只需在IP或用户代理不匹配的情况下再次请求密码,另一方面,我可

基本上,我想要的是使用一种替代登录cookie的方法,因为它们在技术上是可以猜测的(有一些方法可以应对这种情况,但是为什么不完全消除这种威胁呢)

我想到的是一个带有大的请勿在公共计算机上使用的警告的系统,该警告将允许用户自动登录,而不是使用cookie,而是通过以下URL,例如/login/email@example.com/我的密码


我想问的是,我应该费心创建这样一个系统,还是它会造成更多的安全漏洞?一方面,基于cookie的one只需在IP或用户代理不匹配的情况下再次请求密码,另一方面,我可以通过不存储cookie名称节省大量数据库空间。

通过您的方法,用户的密码现在公开:在浏览器历史记录中,在服务器日志中,任何网络嗅探工具,等等。用户的密码不应出现在URL中。因此,不,这不是一个好主意。

通过您的方法,用户的密码现在被公开:在他们的浏览器历史记录中,在您的服务器日志中,任何网络嗅探工具,等等。用户的密码不应出现在URL中。所以不,这不是一个好主意。

我同意Simeon的观点,但我想指出一些额外的事情:

  • Cookie可能被劫持,你是对的,但是SSL之类的东西在合理的程度上很好地防止了这种情况
  • 如果您使用SSL,这两种方法(您的和cookie)都将对窃听者隐藏
  • 正如Simeon指出的,请求的URL恰好存储在比cookie多得多的地方,使得意外泄露或有意泄露的可能性更大
  • 然而,更重要的是,cookie只是随机生成的字符串,特定于您的站点和您的站点,而纯文本密码更有价值。您站点的明文密码可能与数百个其他站点使用的密码相同。换句话说,受损cookie对一个站点的影响最大。另一方面,泄露的密码可能有更广泛的影响
  • 因为您注意到猜测,PHP会话ID比典型密码长得多。PHP通常会生成27到40个字符的会话ID,是平均密码大小的4倍以上。此外,密码通常能够通过(修改过的)字典攻击等方式找到,而在整个搜索空间内进行暴力搜索所需时间的一小部分。换句话说,猜测明文密码要比猜测cookie的内容容易得多,如果您担心cookie的安全性,请增加长度并包含服务器端逻辑,以便只接受来自相同/24地址空间中客户端的cookie。如果您仍然担心,请强制用户更频繁地重新验证

    • 我同意Simeon的观点,但我只想指出一些额外的事情:

      • Cookie可能被劫持,你是对的,但是SSL之类的东西在合理的程度上很好地防止了这种情况
      • 如果您使用SSL,这两种方法(您的和cookie)都将对窃听者隐藏
      • 正如Simeon指出的,请求的URL恰好存储在比cookie多得多的地方,使得意外泄露或有意泄露的可能性更大
      • 然而,更重要的是,cookie只是随机生成的字符串,特定于您的站点和您的站点,而纯文本密码更有价值。您站点的明文密码可能与数百个其他站点使用的密码相同。换句话说,受损cookie对一个站点的影响最大。另一方面,泄露的密码可能有更广泛的影响
      • 因为您注意到猜测,PHP会话ID比典型密码长得多。PHP通常会生成27到40个字符的会话ID,是平均密码大小的4倍以上。此外,密码通常能够通过(修改过的)字典攻击等方式找到,而在整个搜索空间内进行暴力搜索所需时间的一小部分。换句话说,猜测明文密码要比猜测cookie的内容容易得多,如果您担心cookie的安全性,请增加长度并包含服务器端逻辑,以便只接受来自相同/24地址空间中客户端的cookie。如果您仍然担心,请强制用户更频繁地重新验证

      我还要指出,这在技术上也是可以猜测的。等等。你不想使用cookies,因为它们是可以猜测的,所以你要在URL中存储登录名和密码?我不知道该说什么。这就像给每位乘客提供一把枪来改善航空安全。如果你不喜欢饼干,就不要使用饼干。将会话令牌添加到url的所有位置,就完成了。我只考虑了客户端存储,例如,它被保存在浏览器历史记录中。正如Simeon所指出的,在其他地方,它也不可避免地被储存起来。在计时器允许的情况下,他会将答案标记为已接受。我还将指出,这在技术上也是可以猜测的。哇,等等。你不想使用cookies,因为它们是可以猜测的,所以你要在URL中存储登录名和密码?我不知道该说什么。这就像给每位乘客提供一把枪来改善航空安全。如果你不喜欢饼干,就不要使用饼干。将会话令牌添加到url的所有位置,就完成了。我只考虑了客户端存储,例如,它被保存在浏览器历史记录中。正如Simeon所指出的,在其他地方,它也不可避免地被储存起来。将在计时器允许的情况下将其答案标记为已接受。谢谢,我还没有考虑da