- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
好吧,那里有很多“简单 session ”问题,但我似乎找不到我要找的东西。这让我有点烦恼,因为 PHP 文档似乎没有很好地解释这一点。
三重问题。
它说 session_destroy() 会清除 session 数据,但不会清除全局变量。所以它删除数据但变量仍然完好无损?文档中的全局变量是什么意思?
我可以使用哪些不同类型的方法来销毁 session 数据,session_destroy 还不够吗?正如我在一些代码示例中看到的那样,您为什么要使用以下编码:
session_start();
$_SESSION = array();
session_destroy();
session 似乎跨浏览器实例持续存在。例如,IE9 在打开两个不同的浏览器时将保持相同的 session ID。与 Chrome 相同。只有当我关闭所有浏览器时,我才会得到一个新的 session ID。所有浏览器都是这样吗?我想知道这样我就可以在编码过程中牢记这一点——不想稍后发现某些浏览器不是持久的,而我的代码认为它是持久的,然后冒着产生各种错误的风险。
提前感谢任何可以帮助我回答这些问题的人。
最佳答案
$_SESSION
是 super 全局变量session_destroy
函数基本就够了。它删除存储所有 session 变量的服务器上的 session_file 并删除 session cookie。变量在 session_destroy
调用之后仍在内存中,但更改这些值没有任何效果(除非您再次调用 session_start()
)。
但是代码片段也从内存中删除了变量。这一点很重要,例如,如果应用程序稍后在同一请求中检查 $_SESSION['admin']
以查看用户是否具有管理员权限。
需要session_start()
函数,因为您需要先加载 session 才能删除它。
session 不会跨不同的浏览器持续存在,但它们会跨同一浏览器的所有窗口/选项卡持续存在。如果您关闭浏览器会发生什么,实际上取决于您的 PHP-ini 设置。 session.cookie_lifetime
定义浏览器应保留 cookie 的时间(以秒为单位)(即使在重启后)。如果 session.cookie_lifetime
设置为 0,浏览器将在关闭时删除 session cookie。
session.gc_maxlifetime
定义网络服务器保留 session 文件的时间(没有 session 文件,session-cookie 无效)
关于PHP session_destroy 和 session 范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11740550/
我试图修复我的登录脚本,在我的本地主机上它可以工作,但上传到我的在线测试服务器时,注销被破坏,我得到这个错误: Warning: session_destroy() [function.session
我的session_destroy() 不工作。当我以用户身份注销并返回浏览器时,显示用户在线。我在哪里有错误?谢谢。 :-) 文件登录.php query($query); if (
session_destroy() 函数有什么作用?要删除全局数组 $_SESSION 中的所有 session 变量,我必须使用 session_unset()。要从客户端浏览器中删除 sessio
我正在使用 php 身份验证方法进行摘要身份验证,如 php manual 中所示.除注销部分外,一切正常。 我正在使用 session_destroy() 尝试注销我的用户,它确实这样做了。但是我的
在我的应用程序中,当用户注销时,我想销毁所有当前用户的 session 。我是取消设置应用程序中使用的每个 session ,然后调用 session_destroy() 还是只调用 session_
这是我的问题: 我有一个名为 login.php 的登录页面(不包含 HTML 代码)。当用户正确输入其凭据时,他将被重定向到特定页面;对于这个例子,我们会说 test.php。该页面上的唯一链接退出
在 example on php.net使用session_destroy(),它指定删除一个cookie: if (ini_get("session.use_cookies")) { $pa
为什么 destroy_session() 方法不起作用。 在set_session()、destroy_session()之后,我仍然可以读取_session()。 function set_ses
在 example on php.net使用session_destroy(),它指定删除一个cookie: if (ini_get("session.use_cookies")) { $pa
我想知道如何强制用户“注销”。我使用 php-mysqli 系统进行用户身份验证,如果通过 mysqli 查询“锁定”用户帐户,我希望他立即注销。 如果有机会完成这件事,或者 - 我的想法 - 如果他
我正在开发一个在线机票预订系统,在成功预订(付款后)后,我想清除 session ID。但问题是我无法清除它,尽管我使用了 session_destroy() 来销毁 session 。 注意:我已经
我需要创建一个链接,点击后将在 php 中运行: session_destroy(); 我知道如何在 html 中创建链接,但我不知道如何使其与 php 交互。感谢您的帮助。 最佳答案 例如,您想使用
我目前正在我的表单页面中保存一个 session : $testingvalue = "SESSION TEST"; $_SESSION['testing'] = $testingvalue; 在另一
我正在寻找 JavaScript 代码来销毁不活跃的用户 session 。 (用于实时聊天网站) 到期时间:该网站每 5 分钟检测一次用户的事件,然后使用上次事件时间戳更新数据库。因此,如果用户从
我希望在用户单击“注销”时销毁 session ,我试图通过使用 jQuery 调用 onClick 函数来实现此目的,该函数随后将调用包含 session_destroy(); 的 .PHP 文件;
在PHP手册中,对session_destroy()的描述功能是: session_destroy() destroys all of the data associated with the cur
我正在尝试注销我的页面,但 session_destroy 和设置 cookie 不起作用。这是我的代码: $page = $_GET["page"]; if ($page == "l
这个问题在这里已经有了答案: Why Session object destruction failed (4 个答案) 关闭 9 年前。 我有这个 php 脚本,但在破坏 session 时遇到了
好吧,那里有很多“简单 session ”问题,但我似乎找不到我要找的东西。这让我有点烦恼,因为 PHP 文档似乎没有很好地解释这一点。 三重问题。 它说 session_destroy() 会清除
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: What is the difference between session_unset() and ses
我是一名优秀的程序员,十分优秀!