脚本宝典收集整理的这篇文章主要介绍了PHP,cookie和快速浏览器刷新,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
$newtoken = hash("sha256",mt_rand()); my_MysqLi_query($link,'UPDATE _rememberme SET token = "'.$newtoken.'",lastupdated = "'.Now().'" WHERE series = "'.$series.'" AND email = "'.$email.'"'); setmycookie("token",$newtoken,7);
当我快速刷新浏览器时,它最终导致MysqL令牌和cookie令牌不匹配.我认为问题在于,在快速刷新期间,MysqL表会更新,但随后会发生刷新,脚本会在更新cookie之前中止.这会导致将来的身份验证失败,因为cookie令牌与MysqL令牌不匹配.
我已经研究过这个问题,并且在找到解决方案方面收效甚微.
如果您使用PHP会话,则不必依赖多个cookie,也不必在每次访问时对所有内容进行哈希处理.准备会话将提高安全性,因为您的用户将无法更改其会话变量. Cookie是用户可修改的,因此您不能盲目信任它们.但是,用户可以更改PHPSESSION cookie,但是将会话更改为另一个会话的可能性非常小,几乎不可能.
使用当前代码,如果用户在新选项卡上打开链接,并且在请求返回之前打开另一个链接,他将被注销. cookie将在第一个请求时更改,但在浏览器获取新值之前,用户会使用旧cookie提交另一个请求.新值在数据库上,处理具有旧值的新请求,并且会话无效.另一个不满意的用户感到困惑,因为他被随机注销.
以上是脚本宝典为你收集整理的PHP,cookie和快速浏览器刷新全部内容,希望文章能够帮你解决PHP,cookie和快速浏览器刷新所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。