几个月前我开始使用PHP.为了为我的网站创建登录系统,我阅读了有关cookie和会话及其差异的信息(cookie存储在用户的浏览器和服务器上的会话中).那时候,我更喜欢饼干(谁不喜欢饼干?!)并且只是说:"谁在乎?我没有任何好处将它存储在我的服务器中",所以,我继续使用cookies我的学士毕业设计.然而,在完成我的应用程序的重要部分之后,我听说对于存储用户ID的特定情况,会话更合适.所以我开始考虑如果陪审团问我为什么用饼干代替会话,我会怎么说?我有这个原因(我不需要存储有关用户的内部信息).那是不够的一个原因?还是不止于此?
能告诉我使用cookies保存用户ID的优缺点吗?
感谢StackOverflow中的所有人!
我正在尝试更多地了解PHP 会话修复和劫持以及如何防止这些问题.我一直在阅读Chris Shiflett网站上的以下两篇文章:
但是,我不确定我是否理解正确的事情.
为了帮助防止会话固定,调用session_regenerate_id(true)就足够了; 成功登录某人后?我想我理解正确.
他还讨论了通过$ _GET使用在URL中传递的令牌来防止会话劫持.怎么会完全这样做?我猜测当有人登录时你生成他们的令牌并将其存储在会话变量中,然后在每个页面上你将该会话变量与$ _GET变量的值进行比较?
这个令牌只需要在每个会话或每个页面加载时更改一次吗?
他们是一个防止劫持而不必在网址中传递值的好方法吗?这会更容易.