如何防止网站被挂黑链

网站被挂黑链,何防最直接的止网站被表现是流量没涨,权重掉了,挂黑搜索引擎快照里出现一堆赌博、何防色情或者卖药的止网站被关键词。去年有个做机械配件的挂黑外贸站,运营半年没管后台,何防某天发现百度收录里全是止网站被“某某娱乐城”的标题。查日志才知道,挂黑黑客通过一个过期的何防织梦CMS插件上传了webshell,在首页底部塞了三十多条隐藏链接。止网站被这种黑链用CSS的挂黑display:none或者position:absolute; left:-9999px藏起来,普通访客看不见,何防但搜索引擎爬虫抓得到。止网站被

要防住这类事,挂黑先得把入口堵死。后台登录页别用/admin这种默认路径,改个名字,再加个HTTP基础认证。密码别用“admin123”或者“网站域名+年份”,暴力破解工具跑一遍字典就出来了。有条件的话,后台只允许公司固定IP访问,或者上双因素认证。数据库配置文件config.php的权限设成644,别给777,很多黑链就是通过下载数据库配置拿到账号密码的。

文件上传功能是重灾区。用户头像、产品图、附件,这些地方必须校验文件类型。别只看扩展名,要检查MIME类型和文件头。图片目录禁止执行PHP,在Nginx里加一条location ~* /uploads/.*\.php$ { deny all; }。有个做博客的站长,图省事让编辑器直接上传压缩包,结果黑客传了个伪装成zip的php文件,解压后整站沦陷。上传目录和网站根目录最好分开,别让上传的文件能跨目录访问。

服务器层面,关掉不必要的端口。22、3306这些别对公网开放,用跳板机或者VPN连。Web目录权限设成755,文件644,属主别用root。装个轻量级HIDS,比如ossec或者wazuh,监控/var/www里文件的修改。有人改index.php或者新增.php文件,立刻发告警。定期用find /var/www -mtime -1 -type f查最近一天被改过的文件,比等搜索引擎降权再补救强得多。

CMS和插件及时更新。别觉得“能用就不动”,很多黑链利用的就是半年前的漏洞。WordPress的wp-config.php里把DISALLOW_FILE_EDIT设为true,禁止后台直接编辑主题文件。装个Wordfence或者Sucuri,它们能扫出被篡改的文件和隐藏链接。但别完全依赖插件,自己每周手动看一次首页源码,搜一下<a href里有没有不认识的域名。

数据库也要查。黑链不一定写在文件里,有些直接存进wp_posts或者dede_archives表。用SELECT * FROM wp_posts WHERE post_content LIKE '%<script%'或者搜display:none,能揪出不少。有个客户的黑链藏在wp_options表的siteurl里,首页自动跳转到博彩站,查了半天文件没发现问题,最后是数据库被注入了。

发现黑链后,先别急着删。备份日志和数据库,找到入口点。如果是webshell,用grep -r "eval(" /var/www或者grep -r "base64_decode"扫一遍。删掉恶意文件后,改所有密码,包括数据库、FTP、后台。搜索引擎提交死链,等它重新抓取。要是权重掉得厉害,可能得换域名重来——这代价太大,所以平时多花十分钟检查,比事后救火划算。