最近趁著crazydomains免費asia域名的活動,注冊了一個Groovy.asia的域名,周末無聊想搭建一個論壇,供收集整理相關(guān)學(xué)習(xí)資料分享,隨手安裝了曾經(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; // 是否允許后臺恢復(fù)論壇數(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; // 是否允許后臺恢復(fù)論壇數(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)了此功能的版本,具體就不再列舉了,大家有需要可以自己嘗試。
更多信息請查看IT技術(shù)專欄