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']:'';
}
完成後問題得以解決!