WorkBuddy整理的Z-BlogPHP 目录权限整理(加固版)
结合你这个站已被挂马的情况,权限原则是:核心只读、少数目录可写、上传和缓存禁止执行 PHP。
Linux 环境(推荐:目录 755,文件 644)
| 路径 | 权限 | 说明 |
|---|---|---|
/(根目录 index.php 等) | 目录 755 / 文件 644 | 只读即可 |
zb_system/全部 | 755 / 644 | 核心程序,全部只读,不给任何写权限 |
zb_users/c_option.php | 600 或 644 | 里面存着数据库密码,最好收紧到 600 |
zb_users/cache/ | 755(运行用户可写) | 系统缓存,必须可写 |
zb_users/data/ | 755(运行用户可写) | 配置/SQLite 数据,必须可写 |
zb_users/logs/ | 755(可写) | 日志 |
zb_users/upload/ | 755(可写) | 附件上传目录,可写但必须禁 PHP 执行 |
zb_users/theme/ | 平时 755/644 只读 | 后台在线装主题时临时给写权限,装完改回 |
zb_users/plugin/ | 同上 | 插件同理 |
一键设置(在站点根目录执行,www换成你的 PHP 运行用户):
find ./ -type d -exec chmod 755 {} \;find ./ -type f -exec chmod 644 {} \;chown -R www:www ./zb_users/cache ./zb_users/data ./zb_users/logs ./zb_users/uploadchmod 600 ./zb_users/c_option.php
二、关键一步:禁止 upload/cache 执行 PHP
Nginx(server 段加入):
nginx:
location ~* ^/zb_users/upload/.*\.(php|php5|phtml|php3)$ { deny all; }
location ~* ^/zb_users/cache/.*\.(php|php5|phtml|php3)$ { deny all; }
Apache(.htaccess放在 upload 目录内):
apache:
php_flag engine off
<FilesMatch "\.(php|php5|phtml)$">
Require all denied
</FilesMatch>
你这次中招的木马就是把恶意 PHP 写进caches/tpl/、themes/这类自建目录再 include 的——站点根目录下不该出现的caches/、themes/目录直接删掉,这两个本来就不是 Z-BlogPHP 的标准目录。
三、Windows / IIS 环境
| 路径 | IIS_IUSRS 权限 |
|---|---|
| 全站 | 读取和执行 / 列目录 / 读取 |
zb_users/cache、data、logs、upload | 追加"修改" |
zb_system/、根目录文件 | 只保持读取,不给写入 |
zb_users/upload | 处理程序映射里对该目录取消 PHP 映射(或建 web.config 拒绝 .php) |
宝塔 Windows 面板同理:站点"权限"里只给上述四个子目录写权限,并在"配置→防跨站"开启。
防复发的额外建议
先杀毒再收权:权限只是防复发,先按之前说的把
function_tool后门、btiyu.vip/jquery-cnd注入代码清干净,否则可写目录里的老马照样能跑。后台装主题/插件时才临时开写权限,装完立刻收回——很多木马就是通过在线装主题的写权限二次落地的。
zb_users/data/如果用的是 SQLite,确认数据目录不允许 HTTP 直接下载(Nginx 拒绝对data/下.db等的访问)。定期比对
zb_system/与官方包的文件差异(diff -r),有改动立即告警。

加微信好友, 获取更多信息
复制微信号
声明
一、本站原创内容,其版权属于本网站所有。其他媒体、网站或个人转载使用时不得进行商业性的原版原式的转载,也不得歪曲和篡改本网站所发布的内容。如转载须注明文章来源。
二、本网站转载其它媒体作品的目的在于传递更多信息,并不代表本网站赞同其观点和对其真实性负责;如侵犯你的权益请告诉我们立即删除;其他媒体、网站或个人转载使用自负法律责任。



发表评论