东方星雨

简单网络

一个爱好网络的80后男站长。

关注我东方星雨个人微信号:476847113

您现在的位置是:首页 > 站长日志

帝国CMS后台启用SESSION验证后所有后台页面空白

2020-09-20 站长 站长日志

本来用的好好的,昨天登录后台查看系统设置中的安全参数配置时,看到有启用SESSION验证选项,然后就是选择为开启,保存了,结果就所有后台页面都不能访问了,变成了空白页面,强制刷新也不行,查看网页源代码,发现什么都没有返回;噢,当时忘了查看请求的响应代码了。


网上查找解决方法,说的最多的是“修改php.ini,把所有include_path 注释掉,问题解决。”,但自己知道不是这个问题。

后来看到下面的问题及方法:

一、7.2升级7.5后,启用https后台空白

修改 e/config/config.php 这个文件,很多后台设置都可以在这个文件上面修改。
'httptype'=>0,  代表自动
'httptype'=>1,代表全站http
'httptype'=>2,代表全站https
'httptype'=>3,代表后台https,前台http
'httptype'=>,代表后台http,前台https
所以,以上问题,修改'httptype'=>2, 即可。

二、使用chrome浏览器修改配置了帝国cms的-----系统设置---- 安全参数配置 里边的内容以后,网站后台刷新显示空白。原因在于 chrome浏览器有保存表单账号密码功能。导致在修改安全参数配置时候chrome浏览器自动帮你填写了【后台访问的UserAgent包含】字段为你的后台登录用户名。

解决方法:
打开e/config/config.php,搜索$ecms_config['esafe']['ckhuseragent']= ,去掉 ""里边的内容即可解决该问题。

于是去查看“e/config/config.php”文件,发现文件中有关于启用SESSION验证的配置选项,于是改为不启用,发现也不能解决问题。

当时没有考虑“UserAgent”的问题,后来想想应该就是它的问题,而且修改启用SESSION验证的时候,竟然还把后台登录的认证码也给改了,不知道是什么原因。

看到有人跟踪代码来解决问题,这个自己不陌生啊,于是在“e/admin/index.php”文件中添加输出,例如“echo '1';”,定位到问题出在了“e/class/connect.php”文件中,

image.png

于是打开它,接着定位出问题的代码行,最后发现是出在了“EcmsCheckUserAgent($ecms_config['esafe']['ckhuseragent']);”

真的很奇怪,只是修改了是否启用Session的配置,结果导致这一项也出现了变动。


文章评论