脚本宝典收集整理的这篇文章主要介绍了PHP – 为什么我不能摆脱这个会话id cookie?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
>您单击一个链接,将其发送到注销页面
>注销页面运行一个调用session_destroy()的函数,并循环遍历域的所有cookie,并将其设置为过期(见下面的代码)
>然后注销页面@L_512_11@到一个登录页面,这是一个直接的HTML.
在此过程结束时,所有其他Cookie未设置,但PHPSESSID Cookie仍然存在,具有相同的值,并且仍设置为在会话结束时到期.
我在这里缺少什么?
以上是我上面提到的注销功能:
function LOG_out_current_user() { // Destroy the session if (isset($_SESSION)) { session_destroy(); } // Expire all of the user's cookies for this domain: // give them a blank value and set them to expire // in the past if (isset($_SERVER['HTTP_COOKIE'])) { $cookies = explode(';',$_SERVER['HTTP_COOKIE']); foreach($cookies as $cookie) { $parts = explode('=',$cookie); $name = trim($parts[0]); setcookie($name,'',time()-1000); setcookie($name,time()-1000,'/'); } // ExplicITly unset this cookie - shouldn't be redundant,// but it doesn't hurt to try setcookie('PHPSESSID',time()-1000); } }
session_get_cookie_params
获得那些.为了便于携带,您应该通过
session_name
获取cookie的名称.这是一个小脚本:
$params = session_get_cookie_params(); setcookie(session_name(),$params['path'],$params['domain'],$params['secure'],isset($params['httponly']));
以上是脚本宝典为你收集整理的PHP – 为什么我不能摆脱这个会话id cookie?全部内容,希望文章能够帮你解决PHP – 为什么我不能摆脱这个会话id cookie?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。