destoon在360浏览器下出现用户被强行注销的解决方法
(编辑:jimmy 日期: 2024/11/20 浏览:3 次 )
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']:''; }
完成后问题得以解决!
下一篇:实现在同一方法中获取当前方法中新赋值的session值解决方法