帝国cms后台登陆后,有时会遇到提示“您还未登录”的问题,这个问题一般是浏览器或网站目录权限不足导致的,解决方法也很简单,更换浏览器或确认浏览器是否可记忆cookie,或查看/e/data/adminlogin/文件夹是否有写入和修改权限,这是通常的解决办法,
但今天CMSDX小编遇到了一位用户,通过上面的方法多方尝试后无法解决,最后来求助小编。做为帝国cms的专业开发者,cmsdx小编肯定是不会坐视不理的,也就开启了下面坎坷的解决之路。
首先小编按照常规的解决方法进行了尝试,发现删除/e/data/adminlogin/目录内的缓存文件后,登陆帝国cms后台仍然提示”您还未登录“,目录内也未生成缓存文件。
这样一般就是文件夹的写入权限不足导致得了,由于该用户使用的是美橙互联的云虚拟机,且是windows系统,无法通过ftp修改文件夹权限,也无法通过连接远程桌面来查看iis配置和目录权限,只能通过提交工单来求助技术支持小哥。
对方笃定的回复目录的写入权限一定是够的,并给出了文件夹权限的截图,我们查看确实也够,可文件依然无法写入。由于我发登录后台,这时我们想到了帝国备份王,上传了一份心的帝国备份王,配置信息后发现无法保存,也就是config.php文件无法写入,这肯定是写入权限的问题了,可技术支持小哥依然坚称写入和修改权限没问题,cmsdx小编也无可奈何。
我们编写了一个小脚本,来测试文件的写入情况,代码如下。
折叠PHP 代码
$myfile = fopen("newfile.txt", "w");
$txt = "test".date('Y-m-d H:i:s',time())."/n";
fwrite($myfile, $txt);
fclose($myfile);
?>
发现目录内确实生成了newsfile.txt文件,文件内的时间也正常,这就有些奇怪了,难道是我们使用的帝国cms系统出现了问题,错怪了空间商?接着我们又修改了代码,测试一下php文件的生成情况,代码如下。
折叠PHP 代码
$myfile = fopen("newfile.php", "w");
$txt = "test".date('Y-m-d H:i:s',time())."/n";
fwrite($myfile, $txt);
fclose($myfile);
?>
发现这次文件没有生成,这样我们就能确认一定是空间的问题了,想来可能是为了防止一句话木马或通过后门发起请求后生成php的木马文件,对php文件的写入和生成都做了限制。但帝国cms后台的诸多缓存文件都是php格式,这种限制对php系统特别是cms系统的运行会造成极大的干扰。
随即我们与美橙互联的技术支持进行了沟通,对方依然坚称网站目录的写入权限是最高级别,完全没有问题。我们也无语了,只得另辟蹊径,根据对帝国cms的了解,在进行登陆信息验证,并对salt等值进行拼凑后,会写入缓存文件,登陆期间也会对缓存文件进行验证,我们对这次函数进行了修改,将php文件后缀修改为txt格式,问题也得到了解决,成功登陆了帝国cms后台,/e/data/adminlogin/目录内也成功生成了txt格式的缓存文件。
但这只是解决了登陆帝国cms后台的问题,由于还有许多缓存文件为php格式,它们依然无法生成,而要全部修改后缀,要对帝国cms系统文件修改的工作量就太大了,我们已经给美橙互联该类型虚拟主机提交了问题报告,期待他们能解决这个问题,减小对空间的写入限制。
资源均来自第三方,谨慎下载,前往第三方网站下载