早上扫了一眼博客,发现出现了大量的垃圾评论,本来想晚上再解决,但是这次频率太高了,几乎两分钟一条,实在是不能忍!
查看垃圾评论的来源 IP
Nginx 日志
grep 'POST /comments' access.log | awk '{print $1, $4}'
还好这波垃圾评论的 IP 有规律
188.143.232.27 [11/Jan/2017:10:27:25
188.143.232.27 [11/Jan/2017:10:28:27
188.143.232.27 [11/Jan/2017:10:28:57
188.143.232.32 [11/Jan/2017:10:32:20
188.143.232.27 [11/Jan/2017:10:34:41
188.143.232.32 [11/Jan/2017:10:35:57
188.143.232.32 [11/Jan/2017:10:39:15
188.143.232.32 [11/Jan/2017:10:43:00
188.143.232.27 [11/Jan/2017:10:47:42
188.143.232.32 [11/Jan/2017:10:51:51
IP 属于俄罗斯
在 Nginx 中 ban 掉来自俄罗斯的臭流氓
location / {
deny 188.143.232.0/24;
}
查看效果
188.143.232.27 - - [11/Jan/2017:11:06:15 +0800] "POST /comments HTTP/1.1" 302
188.143.232.32 - - [11/Jan/2017:11:07:08 +0800] "POST /comments HTTP/1.1" 403
可以看到,新的垃圾评论已经被屏蔽,页面返回 403 错误。
世界清净了!
Ban IP 相对关键词过滤更加有效
俄罗斯的垃圾评论已经有成熟的产业链,都是自动化的工具。如果你用关键词过滤,实际上垃圾评论只是不显示而已,而对方的程序还是在不断地提交。
ban IP 之后,对方的工具会检测到 403 状态,自己会做 sleep 甚至放弃继续请求,可以有效降低我们服务器的负载。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式