最近,我发现帝国CMS(CMS)所构建的网站首页被恶意篡改,网站上被放置了乱七八糟的内容,严重影响了网站的访问。
我已经按照《Web服务器目录权限设置原则》设置了服务器,理论上不应该再出现恶意篡改的问题。然而,经过研究帝国CMS的后台,我发现它具有生成静态文件的功能。网站的首页和栏目中的文章都是通过生成静态文件来实现的。在生成静态文件时,确实需要对网站目录具有写入权限,还需要访问这些网站目录的权限。这与《Web服务器目录权限设置原则》相冲突。
我注意到这个问题后,考虑到了一个可能的解决方案。参考易客CRM在定义模块时遇到的权限问题解决办法,我们可以在需要写入权限的时候通过命令行脚本更改网站目录的权限。当生成静态文件后,我们可以通过回收网站目录的权限。考虑到当前的问题是首页恶意篡改问题,我们只针对index.html进行处理,其他目录暂不做处理。
为了实现这一目标,我找到了帝国CMS刷新首页的处理代码(e/class/chtmlfun.php中的ReIndex函数)。在函数开头和结尾分别添加了修改权限为555和777的Linux命令行代码。这样只在更新首页时才拥有写入权限,其他情况下只有读取和执行权限。通过PHP代码调用Linux命令是通过shell_exec函数实现的。
这个方法在一定程度上解决了首页被恶意篡改的问题,但还需要进一步的观察和测试,以确保问题得到彻底解决。
我们专注高端建站,小程序开发、软件系统定制开发、BUG修复、物联网开发、各类API接口对接开发等。十余年开发经验,每一个项目承诺做到满意为止,多一次对比,一定让您多一份收获!