网站访问日志入门:从日志里找出恶意 IP,挡住刷站脚本
很多新手站长第一次听说访问日志,都会问它存在哪、长什么样。以宝塔面板为例,网站的访问日志就在“网站 → 该站设置 → 网站日志”里,或者直接看服务器上的 Nginx 日志文件,一般在 /www/wwwlogs/ 目录下,名字里带 access。日志是一行一条记录,每行对应一次访问,刚开始看会觉得密密麻麻,其实每行只讲四件事:谁(IP 地址)、什么时候(时间)、干了什么(请求的方法和路径)、结果怎样(状态码)。
先拿一行真实的日志当例子拆开看:
203.0.113.45 - - [27/Oct/2026:10:12:33 +0800] "POST /wp-login.php HTTP/1.1" 200 1234
开头是访问者的 IP,接着是时间,POST 表示提交数据,/wp-login.php 是请求的页面,200 是成功状态码。如果你看到同一个 IP 在一分钟内对 /wp-login.php 发了几十次 POST,而且状态码大多是 200 或 403,这基本不是真人在登录,而是脚本在撞密码——这就是第一种常见模式:撞登录。
第二种模式是扫路径。日志里同一个 IP 短时间内请求了一堆你站上根本不存在的页面,比如 /admin、/backup.zip、/.env、/phpmyadmin,状态码全是 404。这类脚本在到处找网站的弱点,哪怕一次都没成功,也说明它在踩点,越早挡越好。第三种模式是高频刷:同一个 IP 每秒请求好几次首页或搜索页,正常人点不了这么快,这往往是采集脚本在爬你的内容,爬狠了服务器 CPU 和带宽都会被拖垮。
认出来之后,动手挡人分三步。第一步是确认:先看这个 IP 的访问时间段和用户代理(User-Agent),如果全是凌晨三四点、UA 是一串看不懂的程序名,基本可以断定不是正常访客;如果是百度、Google 的爬虫 UA,别急着封,搜索引擎爬取是正常的。第二步是封禁:宝塔的防火墙可以直接拉黑 IP;如果你用的是自带访客 IP 记录的主题,在访问记录里点一下就能封,时长按小时、天自由定,到期自动解封。第三步是复查:封完隔一会儿再看日志,确认这个 IP 的请求停了、网站访问恢复正常。
最后说三条避坑经验。第一,别封错自己:封之前先确认这个 IP 不是你自己的出口 IP,也不是你家宽带的地址,封错了自己就进不去了——管理员账号通常有豁免,但退出登录后就没了,动手前先记下自己的 IP。第二,别只看一分钟:偶尔一次高频可能是用户在连续点页面,要连续几分钟都异常再动手。第三,封 IP 是治标,治本是把登录入口藏好、密码设复杂、登录失败加限制,三者配合,脚本撞上几次没成果,自然就换目标了。
总结一下:访问日志入门就是记住一句话,会读一行日志,就能认出刷子。今天动手翻一次自己站的日志,找一找有没有撞登录、扫路径、高频刷这三种模式,认出来一个、封掉一个,你的站就比昨天干净一分。
- 点赞
- 收藏
- 关注作者
评论(0)