本文是《帝国cms(共312篇)》专题的第 101 篇。阅读本文前,建议先阅读前面的文章:
使用帝国cms时,后台登录后突然变为空白页,没有任何错误提示,且没有错误日志。本文介绍其处理方法之一。
经过
晚上11时左右,在调整帝国后台编辑器时,突然发现后台完全空白。重新登录时,完全空白。这个现象是突发的,我个人在修改的js文件,怎么会突然影响网站后台呢?百思不得其解。
探究
- 恢复了正在修改的js文件,无效。
- 查看/e/config/config.php 未发现异常,文件未改动。
- 打开php.ini的display_error,打开config.php中的sql错误显示和错误提示显示,无效,依然空白。
- 突然想到手机端还有一个独立的后台,尝试了登录一下,也是空白。
- 仔细查看apache错误日志,php只报了一些warning级别的,没有fatal。
- 查看了mysql的运行状态,没有异常。
这就有意思了,竟然没有任何错误提示。
所以我只能怎么做呢,只能用最古老最白痴的,中断式排查。
通过探索登录过程中涉及的文件,发现/e/class/connect中,代码走到DoSafeCheckFromurl();函数,就停了。
那么根据这个文件名,很明显,是在检查后台来源网址,记得在config.php中见过一个类似的配置项。
解决
编辑/e/config/config.php中
- $ecms_config[‘esafe’][‘ckfromurl’]=0; //是否启用来源地址验证,0为不验证,1为全部验证,2为后台验证,3为前台验证,4为全部验证(严格),5为后台验证(严格),6为前台验证(严格)
设置为0
故障解决。
思考
其实这个问题,是挺尴尬的。我认为应该是服务器防火墙的问题。
服务器的防火墙,可能认为该站点正在遭受cc攻击,它可能做出了一定的防护,主要是跳转式的防护,导致帝国cms的来源地址验证失效,产生了如此闹心的问题。
一个没有输出错误提示的错误,让我熬夜写了这篇解决方案。希望能给后来者节省时间。
您已阅读完《帝国cms(共312篇)》专题的第 101 篇。请继续阅读该专题下面的文章:
本站模板没有任何后门,也不会和我们服务器有任何通信,请您放心使用。
本源码一次性买断,没有二次费用,并享受免费更新。
在使用本站模板时,请不要使用我们的产品从事违反中华人民共和国法律、违反公序良俗的活动,否则我们有权拒绝服务,并配合有关单位予以处置。如果您不符合条件,请勿购买。
售后是指通过QQ与客服联系处理问题,售后过期不影响您对主题的使用和更新。免费三个月售后服务。售后服务时间为工作日早9点到晚5点。如果不在线可以QQ留言,我们会尽快给您答复。
售后服务包括程序的使用、BUG的处理、意见建议等。不包括技术服务、网站优化、二次开发、环境配置、服务器运维等。
代码类商品属于数字化商品,具有可复制性,不支持退款,详见《网络交易管理办法》第二章 第16条 第三类。
请仔细阅读我们的用户协议:用户协议




