PHP-Cookie将被删除,但会在下一页重新生成

PHP-Cookie将被删除,但会在下一页重新生成,php,session,cookies,Php,Session,Cookies,我有一个选项供用户在我的网站上选择“记住我”选项,该选项将某些信息保存到Cookie中,以便用户无需登录即可进行身份验证 但是,当用户想要注销时,这些cookie似乎正在被删除,但由于某些原因,当它们被发送到下一页时,又会被重新创建 下面是我的注销脚本示例。在调用此确切代码之前,将通过注销文件中包含的不同文件对用户进行身份验证,如果用户指定希望记住他们,则将设置cookie //-从身份验证文件-// setcookieusername,bob240,time+86400*30,/,.domai

我有一个选项供用户在我的网站上选择“记住我”选项,该选项将某些信息保存到Cookie中,以便用户无需登录即可进行身份验证

但是,当用户想要注销时,这些cookie似乎正在被删除,但由于某些原因,当它们被发送到下一页时,又会被重新创建

下面是我的注销脚本示例。在调用此确切代码之前,将通过注销文件中包含的不同文件对用户进行身份验证,如果用户指定希望记住他们,则将设置cookie

//-从身份验证文件-// setcookieusername,bob240,time+86400*30,/,.domain.com; setcookiepassword,password123,time+86400*30,/,.domain.com; //-从身份验证文件结束-// //通过将Cookie设置为过去的日期来清除Cookie。 setcookieusername,time-86400*30,/,.domain.com; setcookiepassword,time-86400*30,/,.domain.com; //检查会话是否已销毁。 如果你破坏了{ //重定向用户。 标题“位置:/next/page/”;正在重定向。。。; } 这意味着在同一页上设置两次相同的cookie。但是,由于这些cookie是按其列出的顺序设置的,因此不应存在任何冲突

然而,为了验证这一理论,我跟踪了来自浏览器的标题请求和响应,我可以看到cookie是在用户通过身份验证时设置的,在用户注销时删除的

为了进一步检查,我在注销页面和用户重定向到的页面上多次打印了$\u会话和$\u COOKIE。我可以看到cookies正在被移除,因为$u COOKIE是空的。但是,$\u会话仍然包含对用户进行身份验证所需的信息。正因为如此,我认为这些会议在某种程度上造成了问题。然而,当我测试注销时,没有从记住我选项设置cookies,我抛弃了这个想法,一切都很好

我还想指出,当从子域访问注销页面时,从sub-domain.domain.com->www.domain.com/log-out-page/,即使设置了cookie,我也能够成功注销

我有时也能够在多次访问注销页面后成功注销

我在另外两个网站上使用了相同的代码AFAIK,这两个网站都在相同的web服务器上,并且一切正常。我甚至尝试使用其他两个站点的文件,但问题仍然存在。所有这些站点都使用CloudFlare并设置了相同的设置

由于这是一个非常模糊的问题,您可以使用我网站上的演示帐户登录并自己测试任何东西

不工作的站点:, 正在工作的站点:

账户: 用户名-演示,
密码-演示

在/system/logout删除cookie的同时,不断ping/cloud/api/以获取用户的警报。如果您不让/cloud/api设置这两个cookie,那么它应该会再次工作。

我刚刚在三个浏览器上测试了我的站点。我似乎在Chrome和Edge上都有这个问题,但我可以在iPad上成功地从Safari注销。我做了更多的测试。要求另一个用户从其PC上的演示帐户登录,他也遇到了同样的问题。然而,我也在我的另一台笔记本电脑上测试了这个,我成功地注销了。这似乎是一个奇怪的问题。总是一个帮我的@AL_1。