最近趁著crazydomains免費asia域名的活動,注冊了一個groovy.asia的域名,周末無聊想搭建一個論壇,供收集整理相關(guān)學習資料分享,隨手安裝了曾經(jīng)最熟悉的康盛discuz,x1之后好久沒有,發(fā)現(xiàn)已經(jīng)2.5,滿心歡喜的裝上了,卻不料配置論壇的時候頻頻出現(xiàn)自動退出的情況,隨便搜了下,發(fā)現(xiàn)還真的是有這個問題,有人說是bug,其實也不算是bug,系統(tǒng)為了安全考慮,設(shè)置了ip檢測,而我家里使用的adsl寬帶ip經(jīng)常會改變,而且最近還會頻頻的斷線重連,所以經(jīng)常自動退出。
直奔主題,解決discuzx2.5的自動退出,把根目錄config目錄下的config.inc.php里面的chekip關(guān)掉就可以了,下面是相關(guān)參數(shù)解釋:
代碼如下:
$admincp['checkip'] = 0; // 后臺管理操作是否驗證管理員的 ip, 1=是[安全], 0=否。僅在管理員無法登陸后臺時設(shè)置 0。
$admincp['tpledit'] = 0; // 是否允許在線編輯論壇模板 1=是 0=否[安全]
$admincp['runquery'] = 1; // 是否允許后臺運行 sql 語句 1=是 0=否[安全]
$admincp['dbimport'] = 1; // 是否允許后臺恢復論壇數(shù)據(jù) 1=是 0=否[安全]
$admincp['checkip'] = 0; // 后臺管理操作是否驗證管理員的 ip, 1=是[安全], 0=否。僅在管理員無法登陸后臺時設(shè)置 0。
$admincp['tpledit'] = 0; // 是否允許在線編輯論壇模板 1=是 0=否[安全] $admincp['runquery'] = 1; // 是否允許后臺運行 sql 語句 1=是 0=否[安全]
$admincp['dbimport'] = 1; // 是否允許后臺恢復論壇數(shù)據(jù) 1=是 0=否[安全]
另外,網(wǎng)上有朋友反映,ucenter中出現(xiàn)的自動退出不能解決,這點我這邊沒有發(fā)現(xiàn),既然有人提出,就順便分享下吧,網(wǎng)上的方法,用cookie解決這個問題。
通過這個代碼檢查數(shù)據(jù),然后把cookie的在線ip拿來用。
找到文件: ucenter的 model/base.php
查找:
代碼如下:
$this->onlineip = $match[0] ? $match[0] : 'unknown';
在這代碼之后插入一段代碼:
代碼如下:
//cookie < => onlineip : 2012-05-05 ipwise.cn
$isonlineip = isset($_cookie['onlineipd']) && !empty($_cookie['onlineipd']);
if($isonlineip){
$this->onlineip = $_cookie['onlineipd'];
}else{
setcookie(onlineipd, $this->onlineip, time()+3600, /);
}
unset($isonlineip);
保存后上傳覆蓋問題就解決了。
以上方法理論上支持discuz系列中所有實現(xiàn)了此功能的版本,具體就不再列舉了,大家有需要可以自己嘗試。