今天aspku小編遇到一個比較奇怪的問題。客戶每次登陸帝國cms后臺,隔3秒鐘左右就會立刻自動退出后臺。然后頁面提示是“未登錄”,如圖所示:
帝國后臺
這個問題花了ASPKU小編整整三個小時處理,處理結果也挺讓人無奈,竟然和小編之前處理過的一個關于discuz的問題原因一樣。下面我把排查問題所在的流程寫出來,方便下次又遇到同樣問題的站長可以迅速解決這個問題。
1、首先ASPKU小編懷疑的是cookie無法寫入的問題
處理方法:
刪除e/data/adminlogin目錄下的log臨時文件,嘗試登錄后臺
如果登錄后臺失敗,那么查看e/data/adminlogin目錄下是否有新生成的登錄驗證文件,如果有,有新文件生成,說明與權限無關,無法登陸的問題是由緩存導致的,只要手工刪除緩存文件就能恢復正常,那么刪除e/data/fc文件夾下所有文件即可。
如果沒有新文件生成,那么說明是權限問題導致的,將adminlogin目錄的權限設為777(無憂主機的客戶請設置權限為755)即可。很遺憾該客戶并不是這個問題。
本地時間與服務器時間不符
由于該客戶的電腦截圖的時間比正常北京時間整整快了15分鐘,所以ASPKU懷疑是否是本地時間與服務器時間不一致導致的。結果修改好了無效
動態IP問題
經過一系列的失敗,ASPKU小編注意到一個細節:客戶說他使用的是移動撥號上網,本地的IP地址會經常發生變化。這讓小編意識到該問題很可能是帝國cms的驗證ip功能有關。這個功能的discuz中也有。于是小編讓客戶嘗試用vpn工具固定IP登陸后臺,結果問題順利解決。
最終方案,關閉登陸驗證
由于驗證ip的功能是設置在程序中的,所以最終的解決方法就是,打開e/class/config.php文件,找到$do_ckhloginfile=1,修改為$do_ckhloginfile=0,這樣文件驗證就會被關閉。同樣的,此操作會降低后臺的安全性。(慎用)