destoon用戶在使用360瀏覽器時總是會自動退出,經(jīng)查后發(fā)現(xiàn)是cookie丟失造成的,但丟失的原因眾說不一!
對此的解決方法也不同,測試發(fā)現(xiàn)修改360瀏覽器的設(shè)置,或者IE的兼容性視圖設(shè)置等均無效。
經(jīng)驗證后可行的解決方法如下:
增加 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' ]: '' ; } |
完成后問題得以解決!