您的位置:首页 > 运维架构 > 网站架构

【吐槽】写了一个微小的福利网站,居然要被爬虫了

2017-08-21 22:38 253 查看
这几个月因为一些事情,抑郁了好久,最近终于要走出来,准备去找个新工作换换生活方式。但是又碰到了一件相当fuck的事情:自己写的小网站居然有人在爬。

其实被爬也无所谓,因为自己也是爬别人获得数据的【囧…】,但是网站的图片是放在cdn上的,cdn哗哗的在流…。

一开始我是想设置cdn的访问频率,我的cdn是走的七牛的,自己似乎不太能配置,只能找七牛的运营人员帮忙。虽然他们的回复速度很快,但感觉定制性差,但是还是自己动手,看看能不能在服务器配置。

通过看nginx日志,推测对方应该就是通过访问网页=>遍历分页=>解析img标签然后下载图片的,所幸目前对方目前没有用到ip代理池技术,也就那几个ip,封掉就好。

网上查了一些资料后,查封方法归纳如下:

blockips

deny 58.220.16.204;
deny 222.71.6.118;


创建这么一个文件,然后在nginx配置文件中include就可以了。

geo

参考了 这儿对geo配置的举例 后,我在/etc/nginx/目录下创建一个文件存放
bad_user
的配置,然后在/etc/nginx/nginx.conf中include进来,就可以在下其他地方使用了。

/etc/nginx/blabla
geo $bad_user {
default 0;
222.71.6.118/32 1;
}


/etc/nginx/nginx.conf
http {
....  # 其他配置
include /etc/nginx/blabla;
}


if ($bad_user) {
rewrite ^ http://ubuntu.cn99.com/ubuntu-releases/14.04/ubuntu-14.04.5-desktop-amd64.iso; }


nginx其他模块

也有一些帖子讲了通过配置limit及其他模块的方法来限制。

但是有个问题是目前我不清楚设置什么样的值比较好,这些值觉得太主管了,所以跳过。

经历这个事情后,发觉对图片文件名中加入随机数字(或者是md5值数字)是很有必要的。不然的话,对方完全可以跳过获取html这一步,直接通过命名规律,直接去取cdn上的数据。

不过话说回来,在我尝试过chrome headless之后,个人认为以后反爬虫只会越来越难,因为双方的投入悬殊太大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx