服务器上有个文件一直在记录所有访问,多数人从来没打开过。真出问题时,它比任何猜测都靠谱。
一行日志里有什么
典型格式大致是:访问者 IP、时间、请求方法和路径、状态码、返回大小、来源页、客户端标识。看着密密麻麻,常用的其实就三样:路径、状态码、时间。
几个值得警觉的信号
- 同一个
IP短时间狂刷同一地址:可能是采集,也可能是攻击。 - 大量
404集中在某个路径:要么是死链,要么有人在扫后台。 POST请求反复打到登录页:撞库的典型特征。5xx突然变多:程序或数据库出问题了。- 你自己都不知道的路径被人大量访问:可能被挂了隐藏页面。
扫描器最好认的特征是规律:一批常见后台地址被依次访问,全部返回 404。
日志能回答什么
某个页面到底有没有人看(统计工具可能被广告拦截器挡住,日志不会撒谎);某条死链是从哪来的;服务器压力是不是被某个爬虫拖起来的;搜索引擎到底抓了多少次。
还能验证一件事:改完规则之后,蜘蛛有没有按你的意思走。看蜘蛛的访问路径,比看站长平台上的数字更直接。
怎么看不那么累
别用记事本硬翻。用命令行筛状态码、按路径聚合计数,或者导进分析工具。哪怕只会几个基础命令,也能把范围从几万行缩到几行。
日志长得很快,建议做轮转,保留最近三十天足够。另外注意敏感信息,日志里会有用户 IP 和访问路径,别随手外传。
养成出事先看日志的习惯,能省掉大量来回猜的时间。日志不告诉你"为什么",但它告诉你"发生了什么",而这往往是最难的一步。