在我的网站登录码中,如果密码&用户名是正确的,我设置了一个cookie来保持用户登录。我刚从一个用户那里听说,他的浏览器不自动接受cookie,这会阻止他登录。cookie没有设置
是否有一个简单的方法来解决这个问题?如果你需要我使用的代码,请告诉我。
这是可能的工作,但往往是真正的痛苦,如果你使用复杂的javascript/ajax。
简而言之,不是将会话id存储在cookie中,而是将其嵌入到每个链接的末尾。
http://example.com/somepage.php
是
http://example.com/somepage.php?SessionId=ABC123
不幸的是,虽然PHP在某些情况下可以为您做这件事,但它对您自己在javascript中构建的链接没有帮助-并且只需单击一个没有id的链接即可有效地将用户注销
查看更多信息
正如Quentin在评论中提到的,如果你没有使用cookie来识别创建会话的浏览器,那么共享链接可能会共享会话。这可以通过检查IP地址/用户代理来缓解,但无法阻止,但这可能会在具有NAT和标准浏览器的大型企业环境中失败