20200818程序上传到服务器就显示文件被修改了
以前的网站被挂马了,按照教程删除了原网站程序(只保留了Data目录),上传了最新版本。但是上传服务器后,登录后台,还是显示文件被修改
**关于Discuz!文件被修改提示的排查与解决方案:**
您遇到的「文件被修改」提示是Discuz!安全机制触发的结果,以下是系统性排查方案:
---
### 一、核心排查步骤
1. **清除全站缓存**
- 删除 `/data/cache/` 目录下所有文件(保留空目录)
- 删除 `/uc_server/data/cache/` 下所有文件
- 后台 → 工具 → 更新缓存(勾选所有选项)
2. **校验Data目录安全性**
- 检查 `/data/` 目录下的 `.htaccess` 文件,确保包含以下防盗链规则:
Order deny,allow
Deny from all
- 排查 `/data/attachment/` 是否存在异常文件(如.php后缀图片)
- 检查 `/data/config_global.php` 和 `/data/config_ucenter.php` 文件修改时间是否异常
3. **文件完整性校验**
使用官方发布包的 `utility` 目录下的 `checkfiles.php` 工具(需通过FTP重新上传该工具)进行校验,重点关注:
- 被篡改的模板文件(.htm)
- 被植入恶意代码的 `source/class/class_core.php`
- 被修改的JS文件(如 `static/js/common.js`)
---
### 二、高级安全加固方案
1. **权限策略优化**
# 目录权限
find . -type d -exec chmod 755 {} \;
# 文件权限
find . -type f -exec chmod 644 {} \;
# 特殊目录
chmod -R 777 data/ uc_server/data/ config/
2. **PHP环境加固**
在php.ini中增加:
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec
open_basedir = /your/webroot:/tmp
3. **后门排查技巧**
- 使用命令查找最近3天被修改的文件:
find . -mtime -3 -type f
- 检查含`eval(`、`base64_decode(`等危险函数的文件:
grep -rn "eval(" ./
---
### 三、迁移注意事项
1. **数据库安全迁移**
- 导出时使用`mysqldump --skip-comments` 避免注释中的恶意代码
- 导入前执行:
UPDATE pre_common_plugin SET modules = ''
TRUNCATE pre_common_cache;
2. **附件目录处理**
建议对历史附件目录进行病毒扫描:
clamscan -r --bell -i /data/attachment/
---
### 四、后续防护建议
1. **安装安全基线插件**
推荐使用「DZ安全盾」插件(可在DZ插件网获取),提供:
- 实时文件监控
- 登录行为审计
- 数据库防火墙
2. **定期维护方案**
- 每月执行一次`checkfiles.php`校验
- 每周备份`data/`目录和数据库
- 关注DZ插件网的安全公告频道
---
**特别说明**:若经过上述处理仍出现异常,可能存在服务器层面的Rootkit级入侵,建议进行:
1. 全盘文件系统完整性检查(rkhunter)
2. MySQL数据库日志审计(检查异常SUPER权限操作)
3. 联系服务器提供商进行内核级安全检查
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 根据你描述的情况,网站被挂马后上传了新版本的程序,但后台仍然提示文件被修改,可能是以下几个原因导致的:
### 1. **缓存问题**
- 后台提示文件被修改可能是由于缓存未清除导致的。你可以尝试清除Discuz的缓存:
- 进入后台 -> 工具 -> 更新缓存,点击“提交”按钮。
- 如果仍然有问题,可以手动删除 `data/cache` 目录下的所有文件。
### 2. **文件权限问题**
- 上传新程序后,文件的权限可能没有正确设置。确保以下目录和文件的权限设置正确:
- `data` 目录及其子目录:755 或 777(根据服务器配置)
- `config` 目录及其子目录:755 或 777
- `uc_client/data` 目录:755 或 777
- 其他文件和目录:644 或 755
### 3. **残留恶意文件**
- 虽然你删除了原网站程序,但可能有一些恶意文件仍然存在于服务器上。建议你检查以下目录:
- `data` 目录:确保没有可疑的文件或目录。
- `uc_client/data` 目录:检查是否有可疑文件。
- `template` 目录:检查模板文件中是否有恶意代码。
- `source` 目录:检查核心文件中是否有恶意代码。
### 4. **数据库问题**
- 挂马可能不仅修改了文件,还可能修改了数据库。建议你检查数据库中的以下表:
- `pre_common_setting`:检查是否有异常的设置。
- `pre_common_plugin`:检查是否有未授权的插件。
- `pre_common_template`:检查模板中是否有恶意代码。
### 5. **服务器安全设置**
- 确保服务器的安全设置正确,防止再次被挂马:
- 检查服务器的防火墙设置,确保只开放必要的端口。
- 确保服务器的PHP版本是最新的,并且没有已知的安全漏洞。
- 定期更新Discuz程序到最新版本,确保安全补丁已应用。
### 6. **重新上传程序**
- 如果以上方法都无法解决问题,建议你重新上传Discuz程序,并确保上传的文件完整且未被篡改。你可以通过FTP或SSH上传文件,并确保文件上传过程中没有中断或错误。
### 7. **检查日志**
- 检查服务器的访问日志和错误日志,查看是否有异常的访问记录或错误信息。这可以帮助你找到潜在的安全问题。
### 8. **使用安全插件**
- 你可以考虑安装一些安全插件来增强网站的安全性。这些插件可以帮助你检测和防止恶意代码的注入。
### 9. **联系服务器提供商**
- 如果你无法确定问题的根源,建议联系服务器提供商,他们可能能够提供更深入的安全检查和帮助。
### 10. **备份和恢复**
- 如果你有之前的备份,建议恢复到一个干净的备份点,并确保所有文件和数据库都是干净的。
通过以上步骤,你应该能够解决文件被修改的问题。如果问题仍然存在,建议你进一步检查服务器的安全性,并确保所有文件和数据库都是干净的。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]