开发者学堂课程【Redis 入门到精通(基础篇):数据类型-set 实现黑白名单】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/764/detail/13389
数据类型-set 实现黑白名单
内容介绍
一、set 类型应用场景
二、Tips12
一、set 类型应用场景
业务场景
黑名单
资讯类信息类网站追求高访问量,但是由于其信息的价值,往往容易被不法分子利用,通过爬虫技术,快速获取信息,个别特种行业网站信息通过爬虫获取分析后,可以转换成商业机密进行出售。例如第三方火车票、机票、酒店刷票代购软件,电商刷评论、刷好评。
同时爬虫带来的伪流量也会给经营者带来错觉,产生错误的决策,有效避免网站被爬虫反复爬取成为每个网站都要考虑的基本问题。
在基于技术层面区分出爬虫用户后,需要将此类用户进行有效的屏蔽,这就是黑名单的典型应用。
ps:不是说爬虫一定做摧毁性的工作,有些小型网站需要爬虫为其带来一些流量。
白名单
对于安全性更高的应用访问,仅仅靠黑名单是不能解决安全问题的,此时需要设定可访问的用户群体,依赖白名单做更为苛刻的访问验证。
黑白名单,现在资讯类的网站,信息就非常大了,有些人利用这些信息通过一系列转换变成商业价值,比方说火车站有自己的售票体系,通过爬虫将信息爬取下来,然后通过爬虫订票,做的一个第三方刷票软件,除了这些,包括机票,酒店刷票,电商的好评等等,
这些都是利用他人的信息为自己带来了一些不正当的权益,这里的一个问题就是爬虫做的事情并不是真正的访问量,而这些访问量会给人带来错觉,你自认为网站经营的很好,但是很可能都是爬虫爬出来的,那么为了有效避免这种情况,那就是反爬,别人来爬,识别出来屏蔽掉,那么就实现了,网站是开放的,将你屏蔽,那么就会把你记录下来,这个地方就叫做黑名单,
反爬有各种方法,这里只是用这种方法来解释黑名单,爬虫并不是都是不好的东西,有时候还可以引流,这是黑名单;
对应的白名单就是同意某些人进入,相对来说安全性更高一点。
解决方案
●基于经营战略设定问题用户发现、鉴别规则
●周期性更新满足规则的用户黑名单,加入set集合
●用户行为信息达到后与黑名单进行比对,确认行为去向
●黑名单过滤IP地址:应用于开放游客访问权限的信息源
●黑名单过滤设备信息:应用于限定访问设备的信息源
●黑名单过滤用户:应用于基于访问权限的信息源
二、Tips12
Redis 应用于基于黑名单与白名单设定的服务控制
相对应的,哪些人进入黑名单不是我们考虑的,而是由经营战略设定问题用户发现、鉴别规则实现,然后周期性去更新,利用set的去重性,可以制作一份访问黑名单,用户来了直接进行比对,判断是否在黑名单里面,如果在拒绝访问,如果不在则就正常访问,过滤的一般是IP地址,常见的行为,也可以是用户id,或者说机器id,具体操作跟之前一样的,服务控制的鉴定不在我们的 redis。