php - 禁用 Cookie 时不显示 session 数据

标签 php session

我是 PHP 的新手,正在尝试使用 cookie 和 session 。

因此,在 IE 中,如果我将隐私设置设置为阻止所有 Cookie,显然所有 cookie 都会被阻止,但 session 呢?

我问是因为我的印象是,如果 cookie 被阻止但我启动了一个 session ,该 session 应该是有效的。换句话说,只要浏览器打开,我为 session 变量设置的任何内容都应该与浏览器保持一致,但这似乎并没有发生。

我在这背后的整个思考过程是,我可以使用 cookie 作为我的第一种跟踪方式,除了设置 cookie 之外,我还可以设置一个 session 以防 cookie 被禁用。

那么问题 1 - 为什么我的 session 变量被阻止了?那应该发生吗? 问题 2 - 同时设置 cookie 和 session (以防 cookie 被阻止)是好的做法吗?

最佳答案

session 在大多数情况下只是每个用户链接到数据集的标识符。

此标识符几乎总是存储为 cookie。如果 cookie 被禁用, session cookie 也会被禁用, session 也会被禁用。解决方法是在每个 URL 中包含 session ID,然后将其挑选出来并使用它来初始化 session (即使用 ID 查找存储的 session 数据)。

PHP 可以自动将 session ID 添加到相对 URI,但这取决于配置选项。请参阅手册中的“Passing the Session ID”。 (特别注意 this comment 。)

关于php - 禁用 Cookie 时不显示 session 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012021/

相关文章:

javascript - 如何通过单击 <img > id 打开模态

php - 从steamapi(json)抓取数据并将其导入到mysql

java - 使用SSO时如何处理Http session 超时

session - 创建/保存 Vim 布局

php - 如何清理复选框?

javascript - 对 Google 隐藏部分 HTML 页面

java - 从 Windows 中的不同 session 在 RDP session 中启动 GUI 应用程序

java/GWT 网络应用程序 : how to get a callback on Session Timeout

javascript - 从不同端口上的 AJAX 访问时 $_SESSION 变量为空

php - cron 会执行 php 文件还是只执行 CGI 脚本?