cookie 如何在 PHP 的会话管理中发挥作用/帮助?
Posted
技术标签:
【中文标题】cookie 如何在 PHP 的会话管理中发挥作用/帮助?【英文标题】:How do cookies play role/helps in session management in PHP? 【发布时间】:2017-05-05 20:32:31 【问题描述】:我在 php 中研究了 Cookie 的基本概念,但不知道它们在会话管理中的使用或帮助。
谁能解释一下cookie是如何在会话管理或会话处理中使用的,特别是在PHP中?
如果您可以在回答中附上一些有效的“VALID”示例,这将有助于理解。
谢谢。
【问题讨论】:
cookiePHPSESSID
用于识别客户端,以便服务器知道要加载哪个会话。如果没有 cookie,服务器必须使用 $_GET 进行回退——这会使 URL 变得丑陋,容易出错并且存在巨大的安全风险。
cookie-vs-session 或 how-do-cookies-and-sessions-work 的可能重复
@GiftZwergrapper :我的问题不同。我已经检查了您提供的链接。请从我的问题中删除可能重复的标签。谢谢。
让我们说得简单一点:不是通过 URL 中的 GET 参数设置自己的 SEESIONID,而是由 PHP 完成。 PHP 为此使用了 Cookie。那个连接,仅此而已。您可以自己执行此操作,但是您必须自己检查当前请求是否来自同一用户(浏览器检查/ IP 检查 ....),以便与正确的用户使用正确的会话。请注意:任何用户都可以设置 cookie 数据,因此可以劫持其他用户的会话数据。
【参考方案1】:
Cookie 是一种在远程浏览器中存储数据并因此跟踪或识别回访用户的机制。
例如,您可以将 cookie 用于具有“记住我”选项的登录系统。验证登录后,您可以使用加密的用户 ID 存储 cookie auto_login
。然后下次如果用户访问网站并且会话结束,您可以使用 cookie 的 id 为他自动登录。
我并不是说这是正确的做法。只是一个简单的例子。
【讨论】:
以上是关于cookie 如何在 PHP 的会话管理中发挥作用/帮助?的主要内容,如果未能解决你的问题,请参考以下文章