欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

destoon在360浏览器下出现用户被强行注销的解决方法

程序员文章站 2023-12-04 08:29:46
destoon用户在使用360浏览器时总是会自动退出,经查后发现是cookie丢失造成的,但丢失的原因众说不一! 对此的解决方法也不同,测试发现修改360浏览器的设置,或...

destoon用户在使用360浏览器时总是会自动退出,经查后发现是cookie丢失造成的,但丢失的原因众说不一!
对此的解决方法也不同,测试发现修改360浏览器的设置,或者ie的兼容性视图设置等均无效。

经验证后可行的解决方法如下:

增加 session 用来保存用户的auth信息

1.在 /module/member/member.class.php 的 364行增加以下代码:

if(!is_object($session)) $session = new dsession();
$_session['auth'] = $auth;
$_session['username'] = $user['username'];

2.在 /module/member/member.class.php 的logout方法中增加以下代码:

session_destroy();

修改后的logout的代码如下:

function logout() {
set_cookie('auth', '');
session_destroy();
return true;
}

3.在根目录的 common.inc.php 找到:

$destoon_auth = get_cookie('auth');

替换为如下代码:

$destoon_auth='';
if(get_cookie('auth')){
    $destoon_auth = get_cookie('auth');
}else{
    $destoon_auth = isset($_session['auth'])?$_session['auth']:'';
}

完成后问题得以解决!