我的知识记录

防止网站被webshell侵入:上传目录权限与执行限制_网站安全_防黑防挂马_安全加固

很多教程把网站安全写得太简单,好像点几下就完事了。实际操作中环境千差万别,PHP版本、服务器类型、面板差异都会影响结果。这篇文章覆盖各种常见环境的具体操作。

网站被黑的表现多种多样:首页被篡改、出现陌生链接、后台多了未知管理员、服务器有异常进程、流量异常飙升。发现异常第一时间要做的是保留证据和隔离,而不是急着删文件。

动手之前先理清步骤,避免走弯路。

发现被黑第一时间备份当前状态。整站打包下载,数据库导出,被篡改页面截图。不要急着删文件,证据没了漏洞也找不到。备份完可以先切维护模式,避免更多用户看到被篡改页面。

排查后门文件。用木马扫描工具(河马、深信服、安全狗)扫全站,对比官方程序文件MD5找出被修改和新增文件。webshell通常是一句话木马,eval、assert、base64_decode这些函数是特征。上传目录、模板目录、配置文件目录是重点排查区域。

清理后门和被篡改内容。确认是后门的文件直接删除,被篡改的文件从官方包或者备份恢复。数据库检查有没有新增管理员账号、被修改的文章内容、恶意存储过程。清理完改所有密码,后台、数据库、FTP、服务器全部换强密码。

找漏洞入口修补。查后台登录日志有没有陌生IP,查服务器登录记录,查文件修改时间对应操作。常见入口是弱密码、上传漏洞、CMS已知漏洞。修补包括升级CMS版本、限制上传目录执行PHP、服务器安全加固。观察一周确认没有再次被入侵。

有几个细节不能忽略,列出来供参考。

CDN环境下改配置注意缓存。改了文件要刷新CDN缓存,否则用户看到旧内容。HTTPS证书要在CDN和源站都装,回源协议要对应。获取真实IP要配置real_ip,否则IP限制和日志都不准。

数据库操作前确认WHERE条件。UPDATE和DELETE没有WHERE会影响全表,数据全改或者全删。先SELECT确认影响范围,加LIMIT限制条数,在测试环境验证SQL。执行完再SELECT确认结果,不对的话从备份恢复。

操作前务必备份。改配置前复制文件加.bak后缀,动数据库前导出备份,改服务器配置前拍快照。备份是最低成本的保险,出问题能快速回滚,不会把小故障搞成大事故。

常见的几个疑问集中回答一下。

问:数据库密码忘记了怎么办?答:有服务器权限的话MySQL安全模式启动重置密码,或者看网站配置文件里存的数据库密码。宝塔面板在数据库管理里能看密码(点眼睛图标)。没服务器权限找主机商重置。

问:虚拟主机没有服务器权限怎么操作?答:虚拟主机用主机面板提供的功能,文件管理器改文件,phpMyAdmin管数据库,伪静态和SSL在面板设置。大部分网站操作不需要命令行权限,只有服务器级别的配置(改PHP全局配置、装扩展)需要主机商协助。

网站维护是细致活,各类问题处理思路相通:先定位再动手,先备份再操作,先测试再上线。把这篇文章收藏,遇到对应问题对照步骤处理,节省大量排查时间。不清楚的地方建议测试环境验证后再上生产。

防止网站被webshell侵入:上传目录权限与执行限制_网站安全_防黑防挂马_安全加固

标签:

更新时间:2026-08-27 11:00:30

上一篇:网站备份文件校验SHA256哈希_虚拟主机实用教程

下一篇:论文PDF定稿中修改PDF文件创建时间修改日期|qpdfPDF元数据时间调整