【发布时间】:2013-05-28 04:38:12
【问题描述】:
我一直在尝试理解 $_SESSION 和 $_COOKIE 变量。我第一次尝试同时使用两者。我一直试图让它们同时工作,我猜会话会抛出 cookie ID 或反之亦然,无论如何你可以将 cookie 和会话一起用于同一目的以提高故障安全性吗?
我有登录脚本选择确认用户登录页面,我们她/他(用户)可以看到他们数据库记录行的特定记录。现在,从这里是一个链接,它将把他们带到一个订单页面,现在在最初设置数组之后传递会话/cookies(我假设的会话)......我如何拉起传递的会话并允许它们仍然保持该数据库连接到他们的文件,以便他们可以订购并向其中添加数据,还是我需要再次连接到数据库?从 user={$_SESSION['user_id']}; 尝试但在 MySQL 命令语句中不起作用。
在脚本中同时使用 COOKIES 和 SESSION 是否可行。如果有人离开购物车并返回没有从 SESSION 保存的信息,而 COOKIE 将保存此信息,那么在所有退出以清除任何个人信息等后销毁 SESSION 是多么安全……同时 cookie 会保存信息。这里的重点是让 COOKIE 保存数据,然后会话将在某个点后销毁 COOKIE 和会话。
【问题讨论】:
-
tl;dr,您只需要知道
$_SESSION创建了一个名为PHPSESSID的cookie -> 服务器存储一个数组并将其与PHPSESSID的值相关联(这是一个32 十六进制字符串)。另一方面,$_COOKIE只存储一个可以在客户端更改的值。我更喜欢$_COOKIE,因为我可以在不依赖 PHP 的情况下将哈希保存在数据库中。 -
“希望这足够清楚”不。
-
"$_SESSION 创建一个名为 PHPSESSID 的 cookie" 并非总是如此
-
只是一个简短的总结,不作为答案发布:)
-
不要使用
$_COOKIE,除非您了解 HTTP 协议并且完全确定自己在做什么。