爬虫防御 - 禁止空ua策略

[云计算] 季雨林 2018/3/3 14:32:12

        网站opengps.cn运行在阿里云上已经超过一年,所用的服务器也是4年前所购买,期间曾经有高精度IP功能备受关注,从而也引来不少爬虫。在面对爬虫压力时候经历了几个不同的时期:


1,无视阶段

        在早期访问量低的时候,爬虫来就来吧,配额够用,服务器也不累,甚至一点都不干扰功能正常使用。因此没有任何应对方案。


2,手动封锁IP阶段

        随着查询ip的用户增加,配额已经捉襟见肘,恰恰这时候有人开始使用程序自动抓取我网站的ip数据,是不是突然冒出来,几分钟用光全天配额,真实用户叫苦不迭,于是采用开始手动封锁ip策略。手动封锁ip有2种方式可选,iis添加ip黑名单和阿里云安全组添加ip禁用规则


3,验证码阶段

        网站本来是不打算添加验证码的,毕竟会多一步用户操作影响用户体验。但是在这个阶段不得不开始使用验证码,同时为了达到“只拒绝非真人用户”的目的,验证码设计超级简单,仅有2位,不出现容易个字母o混淆的数字0。默认客户端IP直接不使用验证码查询出。


4,主动反爬虫阶段

        对于早期爬虫的屡次光顾,这里积累了不少爬虫特征。于是这里开始出现文章题目中的做法“禁止空ua策略”。这个策略看似简单,实际非常有效,很多人开启浏览器F12功能后,抓取了后台接口。从而使用直接输入参数方式突破早期验证码bug(早期的验证码输入对一次可以连续用)。但是这时候,很多开发者直接访问接口地址的时候发现打不开就放弃了。从而简单一步过滤很多爬虫诞生。


5,精准分析阶段

        通过配置特定参数,给特定合作方放行,追加随机偏移量等等。在这个过程中,终于挖掘到一个抓取我数据的敌人,他的数据库中存的数据大于我的精度,而且完全符合我的随机范围。另外,针对不同的UserAgent也进行了识别,优待搜索引擎蜘蛛爬虫。


6,挨打阶段

        网站毕竟不盈利,于是也没有做进一步防御。这时候开始有人拿不到数据气急败坏,开始使用ddos这种硬方式攻击,今天早上刚刚再一次受到DDOS攻击,峰值6.53G。由于数次的ddos累计,网站在于阿里云云盾的信誉评分已经从极好变成极差,阿里云会屏蔽任何访问一段时间,这个时间叫做ddos黑洞时间。目前网站的ddos黑洞时间已经从40分钟拉长到150分钟。

最后,即使阿里云给出了信誉极差的安全评分,但是阿里云的服务依然是国内数一数二的,欢迎大家领取我的券(http://2bit.cn/xyq)选购阿里云产


原文地址: https://www.opengps.cn/Blog/View.aspx?id=62 文章的更新编辑依此链接为准。欢迎关注源站原创文章!

评论

暂无评论!

发表评论:

用于接收作者回复信息
点击更换验证码 - openGPS提示