网站已经根据《web服务器目录权限设置原则》设置过服务器,理论上不应该再出现恶意篡改的问题。研究了一下帝国CMS的后台,发现帝国CMS有生成静态文件的功能,网站的首页和栏目里的文章都是生成的静态文件,在生成静态文件的时候肯定需要对网站目录有写入的权限,而且还需要访问这些网站目录的权限,和web服务器目录权限设置原则 讲的有冲突。
这个问题有点头疼,想到一个办法,参考易客CRM定义模块时遇到的权限问题的解决办法,在需要写入权限的时候就通过命令行脚本更改一下网站目录的权限,静态文件生成后就收回网站目录的权限,由于网站目前遇到的问题是网站首页恶意篡改问题,所以只针对index.html做处理,其他目录暂不做处理。
找到帝国CMS刷新首页的处理代码,e/class/chtmlfun.php中的ReIndex函数,在函数的开头加上修改权限为555的linux 命令行代码,在函数的结尾加上修改权限为777的Linux 命令行代码,这样只是在更新首页时才拥有写入权限,其他情况下只有读取和执行权限,没有写入权限。在php代码中调用Linux命令是通过shell_exec函数调用的。
没有index.html的写入权限,网站首页再也不用担心被恶意攻击了!不过,这个方法还有待观察,希望能彻底解决这个问题。
声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:312334557@qq.com 我们将配合处理!
原文地址:《如何避免帝国CMS首页被恶意篡改?》发布于2020-07-02 21:07:13