通过nginx禁止IP访问来防御spamer

作者:dianso 发布时间:November 24, 2010 分类:沒事折騰

最近没管理博客,后台全是垃圾评论了,直接通过的我不知道有多少,spam 列表里就有 1500 了。

spam

打算直接用 nginx 添加黑名单来禁止这些 ip 访问,首先去 phpmyadmin 导出这些 spamer 的 IP,直接运行下面的命令:

SELECT DISTINCT comment_author_IP,comment_approved FROM wp_comments WHERE comment_approved != '1';

然后全选,导出为 SQL 文件,导出的都是这样的格式:

('122.158.91.114', '0'),
('125.224.73.30', 'spam'),
('222.240.138.86', 'spam'),

用记事本来替换吧:

('替换为 deny

', '0'),
', 'spam'),

这些替换成 ;

最后得到的就是这样的
deny 122.158.91.114;

保存为 iplist.conf

上传到 /usr/local/nginx/conf,然后编辑 nginx.conf,添加:

include iplist.conf;

最后,重启 nginx:

kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

这样,在黑名单的 IP,访问网站的时候就 403 错误了

标签:

NGINX, ip, 黑名单

  • Nginx502自动重启脚本
  • VPS中Nginx平滑升级
  • Nginx中wordpress重写规则
  • 已有 82 条评论 »

    1. WP后台已经集成了黑名单功能,不光能屏蔽IP还能根据关键词进行屏蔽,你这有点麻烦,还得VPS
      [img]http://s.014.cc/2010/12/ebe19734-82c9-40d3-83dc-c9c19e9a559b.jpg[/img]

      1. 后台黑名单我的都几百个了,没多大用,进了spam列表,删除都需要很久

    2. 留言墙太强大了。。。

    3. 每天都会收到很多来自国外网站的垃圾邮件,都是手工把他们删除掉,博主的方法没太看明白,不知道怎么操作。

    4. 这点是太强了,直接封IP的……

    5. 这个是放在 http 下,还是server下?

      1. @Magento小工: 这个是直接写入nginx的conf文件才能生效

    添加新评论 »

    表情