destoon用户在使用360浏览器时总是会自动退出,经查后发现是cookie丢失造成的,但丢失的原因众说不一!
对此的解决方法也不同,测试发现修改360浏览器的设置,或者IE的兼容性视图设置等均无效。
经验证后可行的解决方法如下:
增加 session 用来保存用户的auth信息
1.在 /module/member/member.class.php 的 364行增加以下代码:
1
2
3
|
if (! is_object ( $session )) $session = new dsession();
$_SESSION [ 'auth' ] = $auth ;
$_SESSION [ 'username' ] = $user [ 'username' ];
|
2.在 /module/member/member.class.php 的logout方法中增加以下代码:
1
|
session_destroy();
|
修改后的logout的代码如下:
1
2
3
4
5
|
function logout() {
set_cookie( 'auth' , '' );
session_destroy();
return true;
}
|
3.在根目录的 common.inc.php 找到:
1
|
$destoon_auth = get_cookie( 'auth' );
|
替换为如下代码:
1
2
3
4
5
6
|
$destoon_auth = '' ;
if (get_cookie( 'auth' )){
$destoon_auth = get_cookie( 'auth' );
} else {
$destoon_auth = isset( $_SESSION [ 'auth' ])? $_SESSION [ 'auth' ]: '' ;
}
|
完成后问题得以解决!