Php 可选的基于URL的授权,以避免登录cookie
基本上,我想要的是使用一种替代登录cookie的方法,因为它们在技术上是可以猜测的(有一些方法可以应对这种情况,但是为什么不完全消除这种威胁呢) 我想到的是一个带有大的请勿在公共计算机上使用的警告的系统,该警告将允许用户自动登录,而不是使用cookie,而是通过以下URL,例如/login/email@example.com/我的密码Php 可选的基于URL的授权,以避免登录cookie,php,security,url,authentication,cookies,Php,Security,Url,Authentication,Cookies,基本上,我想要的是使用一种替代登录cookie的方法,因为它们在技术上是可以猜测的(有一些方法可以应对这种情况,但是为什么不完全消除这种威胁呢) 我想到的是一个带有大的请勿在公共计算机上使用的警告的系统,该警告将允许用户自动登录,而不是使用cookie,而是通过以下URL,例如/login/email@example.com/我的密码 我想问的是,我应该费心创建这样一个系统,还是它会造成更多的安全漏洞?一方面,基于cookie的one只需在IP或用户代理不匹配的情况下再次请求密码,另一方面,我可
我想问的是,我应该费心创建这样一个系统,还是它会造成更多的安全漏洞?一方面,基于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。如果您仍然担心,请强制用户更频繁地重新验证
- Cookie可能被劫持,你是对的,但是SSL之类的东西在合理的程度上很好地防止了这种情况
- 如果您使用SSL,这两种方法(您的和cookie)都将对窃听者隐藏
- 正如Simeon指出的,请求的URL恰好存储在比cookie多得多的地方,使得意外泄露或有意泄露的可能性更大
- 然而,更重要的是,cookie只是随机生成的字符串,特定于您的站点和您的站点,而纯文本密码更有价值。您站点的明文密码可能与数百个其他站点使用的密码相同。换句话说,受损cookie对一个站点的影响最大。另一方面,泄露的密码可能有更广泛的影响
- 因为您注意到猜测,PHP会话ID比典型密码长得多。PHP通常会生成27到40个字符的会话ID,是平均密码大小的4倍以上。此外,密码通常能够通过(修改过的)字典攻击等方式找到,而在整个搜索空间内进行暴力搜索所需时间的一小部分。换句话说,猜测明文密码要比猜测cookie的内容容易得多,如果您担心cookie的安全性,请增加长度并包含服务器端逻辑,以便只接受来自相同/24地址空间中客户端的cookie。如果您仍然担心,请强制用户更频繁地重新验证
- 我同意Simeon的观点,但我只想指出一些额外的事情: