我正在用PHP做一个项目。我对cookie和会话有一点疑问。
这是我的疑问。
Cookie会保存在浏览器端。
会话保存在服务器端。
如果我们在浏览器中清除Cookie,为什么会话也变得清晰。
根据条件,cookie保存在浏览器端。并且会话保存在服务器端。 如果我们在浏览器中清除cookie,那么存储在服务器中的会话也是如何清除的。
请澄清一下......
提前感谢...
答案 0 :(得分:4)
服务器使用cookie来跟踪用户的会话。我们要查找的具体Cookie是 PHPSESSID ,这是跟踪Cookie。
因此,如果您删除此cookie,服务器将失去对客户端的跟踪,因此它将被终止。
这是一些参考。
http://oreilly.com/pub/a/php/excerpt/webdbapps_8/index.html?page=2
答案 1 :(得分:0)
PHP允许使用带有会话存储的cookie或数据库。如果您只使用cookie,这通常是导致这种情况的原因。您可以使用数据库会话和使用via querystring / trans id来解决这个问题。
希望这会有所帮助。
编辑以包括Maerlyn指出的错过的部分。
答案 2 :(得分:-3)
服务器使用Cookie进行跟踪 用户的会话。具体 我们正在寻找的饼干是 PHPSESSIONID是跟踪 曲奇饼。 块引用
正如Adarsh R所说
如果使用session_id将会话保存到数据库表中,您怎么能阻止这种情况 并序列化会话,这是为无法更改php.ini的用户
修改
$ip = $_SERVER['REMOTE_ADDR'];
$browser_string = $_SERVER['HTTP_USER_AGENT'];
$session_id = session_ID();
$session = serialize($_SESSION);
DB代码是读者的练习。
$sql = "SELECT * FROM `sessions` WHERE `ip`='".$ip."' AND `browser_string`='".$browser_string ."'";
希望你能从中解决这个问题。