拥有蝴蝶效应的爬虫如何进行防护

美国气象学家爱德华·罗伦兹(Edward N.Lorenz)1963年在一篇提交纽约科学院的论文中分析了一个叫做蝴蝶效应的理论:“一个气象学家提及,如果这个理论被证明正确,一只海鸥扇动翅膀足以永远改变天气变化。”在以后的演讲和论文中他用了更加有诗意的蝴蝶。对于这个效应最常见的阐述是:

“一只南美洲亚马逊河流域热带雨林中的蝴蝶,偶尔扇动几下翅膀,可以在两周以后引起美国德克萨斯州的一场龙卷风。”

“蝴蝶效应”主要是关于混沌学的一个比喻,也是蝴蝶效应的真实反应。不起眼的一个小动作却能引起一连串的巨大反应——由于误差会以指数形式增长,在这种情况下,一个微小的误差随着不断推移造成了巨大的后果。

在互联网的世界中,蝴蝶效应的呈现则更为明显,身为互联网使用者,你的每一次点击,每一个打开,每一个保存与分享都不仅仅只是点击、打开、保存、分享,它们都将汇集成为数据,成为你互联网畅游的路径。

而对于企业来说,由上述数据推导出你的用户画像(根据你的社会属性、生活习惯和消费行为等信息而抽象出的一个标签化的用户模型)早已不是难事。

不过你也无需担忧,对于大多数企业而言,一两个行为标本作用不大,企业所需要的是一个甚至多个受众群体的大数据行为模型。


最初,爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,帮助搜索引擎作为一个辅助人们检索信息的工具。不过,正如同光明与黑暗同时诞生、出生与死亡同存于这个世界,爬虫的出现,也带来恶意爬虫的降生。

以下仅针对互联网业务风控层面阐述。

爬虫是所有攻击链中的重要构成,无论是采集竞争对手网站的数据,尝试破解用户口令还是自动下单,其实都离不开爬虫。

与传统金融类风控不同,会更加关心整个风险事件前端的问题,从最开始用户进入网站的行为进行分析。例如用户在页面的停留时间,是否多次修改输入的内容等,这些行为让风险判断的准确性有了巨大的提升。举个例子:

一、恶意爬取网站→ 注册用户扫描

虽然现在大部分平台的注册页面上会有图片验证码,在一定程度上可以防范爬虫自动化程序遍历手机号查询已注册的用户。

但在不同的终端上,还是可以通过简单的请求判断出用户是否已经注册。

二、爬取注册用户→ 进行业务欺诈

这个数据可以拿来做什么?

一方面,我们已知某个手机号码是某网站的注册用户,这个信息可以用作欺诈,比如模仿官方的服务号向用户发送欺诈短信骗取验证码短信,进行资金盗取。

另外,可以将这些数据向竞争对手出售,协助对方进行精准营销争夺用户。

三、业务欺诈→ 短信轰炸操作

国内每天都在发生大量的业务欺诈等案件,比如模仿官方的服务号向用户发送欺诈短信骗取验证码短信,进行资金盗取。

在欺诈手法中,还经常使用短信轰炸,比如在盗卡盗刷时,为了增加自己的作案时间,用大量的验证短信掩盖掉真正的消费短信,让受害者无法快速的发现并冻结自己的银行卡。

为了达到这种目的,攻击者会使用多家网站的短信接口对受害者发送短信,进而产生短信轰炸问题。

四、短信轰炸→ 账户盗用

个人账户被盗后:垃圾注册→ 产生羊毛党→ 刷单 ……

职业团队产生:爬取评论→ 差评师→ 恶意竞争攻 ……

其它模式→……

我们可以看到,最基础的爬虫所带来的,犹如那只南美洲亚马逊河流域热带雨林中的蝴蝶,拍一拍翅膀,或许只是抖抖阳光雨露,潇洒飞去,或许带来的就是一连串由它而起,又似乎与它无关的后续风暴。

那么要禁用爬虫吗?

显然不可能,如果没有爬虫的存在,你将不再有可能被搜索引擎抓到,在重度依赖搜索引擎的现代用户世界中,你也就成为了‘存在而不可见的’透明人。我相信这是所有企业都不愿意看到的。

所以,互联网世界正如真实世界一样,有好人和坏人,数据和爬虫技术本身没有好坏之分,关键点在于使用它们的那些人。根据网站内容的安全性及敏感性,区别对待爬虫是比较理想的措施。我们所做的事情,就是要把好人和坏人区分开来。

那么问题来了,如何防止恶意爬虫?

反爬机制主要有两大策略:

一、控制IP访问频率
最常见的基本都会使用代理IP来进行访问,但是对于一般人来说,几万ip差不多是极限了,所以一个ip还是可能多次请求。意味着爬虫需要付出更多的成本投入在IP资源上,IP越多,爬取的成本越高,自然容易劝退一部分人。

二、控制爬取策略
如果简单的只对目标数据进行爬取,反爬系统只要对访问情况和用户行为进行相关分析,其实很简单就能判定爬虫的那堆ip,你除了这堆数据什么都没访问,一看就不是正经用户。当然策略这个东西,就需要更多的博弈了。爬虫要增加迷惑度,需要去访问一些无关的东西,最后是研究正常用户的访问流程,然后模拟一遍。再者,控制速度。毕竟反爬系统的统计区间是肯定有限制的,不可能拿一个月的数据都分析一遍找出爬虫。反爬系统的存在,意义就在于增加这个成本。当然也需要衡量自身的成本,毕竟不能本末倒置,反爬成本太高就没价值了。

那网站一般用什么措施防范爬虫呢?主要有以下几种:

1.使用验证码机制
在登录、注册或搜索等重要操作时,引入验证码机制。验证码是一种动态生成的字符,用于验证用户是否为人类。通过在验证码中加入随机性和难以识别的字符,可以有效防止机器自动识别。

2.检测和限制访问频率
通过监控用户的访问频率和访问模式,可以识别出异常行为。一旦检测到异常,可以采取相应的措施,如暂时限制访问或发送警告信息。

3.使用IP黑白名单
对于已知的恶意IP地址,可以将其加入黑名单,禁止其对目标网站的访问。相反,对于可信任的IP地址,可以将其加入白名单,允许其对目标网站的访问。

4.检测和过滤恶意请求
通过分析用户请求的内容和特征,可以识别出恶意请求。例如,可以检测请求中是否包含大量的垃圾数据、是否包含特定的恶意关键词等。一旦检测到恶意请求,可以将其过滤掉或暂时限制其访问。

5.漏洞扫描服务

漏洞扫描服务(Vulnerability Scan Service)集Web漏洞扫描、操作系统漏洞扫描、资产内容合规检测、配置基线扫描、弱密码检测五大核心功能,自动发现网站或服务器在网络中的安全风险,为云上业务提供多维度的安全检测服务,满足合规要求,让安全弱点无所遁形。主要的优势在于:

一、扫描全面

涵盖多种类型资产扫描,支持云内外网站和主机扫描,支持内网扫描、智能关联各资产之间的联系,自动发现资产指纹信息,避免扫描盲区。

二、高效精准

采用web2.0智能爬虫技术,内部验证机制不断自测和优化,提高检测准确率,时刻关注业界紧急CVE爆发漏洞情况,自动扫描,最快速了解资产安全风险。

三、简单易用

配置简单,一键全网扫描。可自定义扫描事件,分类管理资产安全,让运维工作更简单,风险状况更清晰了然。

四、报告全面

清晰简洁的扫描报告,多角度分析资产安全风险,多元化数据呈现,将安全数据智能分析和整合,使安全现状清晰明了。

总之,防御爬虫攻击是一项复杂而重要的任务,需要采取多种技术策略和管理措施,以确保网站的安全性和稳定性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/9929.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IP 地理定位神话与事实

ip地理定位是一项技术,用于通过访问设备的ip地址来获取地理位置信息,例如国家、城市、经纬度等。该技术广泛应用于网站内容自定义、广告定位、网络安全和用户分析等领域。它通过与包含ip地址和地理位置映射的大型数据库进行查询来工作,但在准…

软件测评报告:除了软件测评中心,还有哪些选择?

传统的观念中,软件测评中心往往被视为进行软件测评的首选机构。然而,随着技术的发展和市场的扩大,除了软件测评中心,越来越多的机构和平台也提供了专业的软件测评服务。本文将探讨除了软件测评中心之外,还有哪些地方可…

工作中使用Optional处理空指针异常

工作中使用Optional处理空指针异常 实体类以前对空指针的判断Optional处理空指针测试结果 实体类 package po;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.io.Serializable;Data AllArgsConstructor NoArgsConstruct…

单调栈:(C++)

在题目的要求中,存在先进后出(即在前面的数据需要遍历到后面的某一数据时才能确定计算值)单调栈在一部分解题场景中避免了暴力解法的高时间复杂度问题,但是在做题过程中视情况而定,有些题目的最优解不一定使用单调栈&a…

百度智能云数据仓库 Palo 实战课程

通过本课程,您将学习如何使用 Palo 构建高性能、低延迟的分布式数仓服务,掌握数据建模、数据导入、查询优化和系统调优等技能,掌握如何管理和运维 Palo 集群,提高数据处理和分析的效率。同时,我们将进一步向您介绍 Pal…

2024OD机试卷-螺旋数字矩阵 (java\python\c++)

题目:螺旋数字矩阵 题目描述 疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法: 给出数字个数 n (0 < n ≤ 999)和行数 m(0 < m ≤ 999),从左上角的 1 开始,按照顺时针螺旋向内写方式,依次写出2,3,…,n,最终形成一个 m 行矩阵。 小明对这…

2024下载旧版本谷歌浏览器和谷歌驱动器chromedriver,亲测有效

2024下载旧版本谷歌浏览器和谷歌驱动器chromedriver,亲测有效 1. 下载旧版本谷歌浏览器 找了很多博客&#xff0c;实验了很多种&#xff0c;我发现最有效的是下面的网址&#xff0c;可能需要一些科技。 但是下载下来的谷歌浏览器版本是ok的。拿来就能用&#xff0c;亲测有效…

QT创造一个新的类(柱状图的类),并关联属性和方法

1.以在UI上添加柱状图的类为例&#xff08;Histogram&#xff09; #ifndef STUDY_HISTOGRAM_H #define STUDY_HISTOGRAM_H#include <QVector> #include <QWidget>// 前向声明 QT_BEGIN_NAMESPACE class QColor; class QRect; class QString; class QPaintDevice; …

【机器学习300问】84、AdaGrad算法是为了解决什么问题?

神经网络的学习的目的是找到使损失函数的值尽可能小的参数。这是寻找最优参数的问题&#xff0c;解决这个问题的过程称为最优化。因为参数空间非常复杂&#xff0c;无法轻易找到最优解&#xff0c;而且在深度神经网络中&#xff0c;参数的数量非常庞大&#xff0c;导致最优化问…

【SpringBoot篇】基于Redis分布式锁的 误删问题 和 原子性问题

文章目录 &#x1f354;Redis的分布式锁&#x1f6f8;误删问题&#x1f388;解决方法&#x1f50e;代码实现 &#x1f6f8;原子性问题&#x1f339;Lua脚本 ⭐利用Java代码调用Lua脚本改造分布式锁&#x1f50e;代码实现 &#x1f354;Redis的分布式锁 Redis的分布式锁是通过利…

基于FPGA的音视频监视器,音视频接口采集器的应用

① 支持1路HDMI1路SDI 输入 ② 支持1路HDMI输出 ③ 支持1080P高清屏显示实时画面以 及叠加的分析结果 ④ 支持同时查看波形图&#xff08;亮度/RGB&#xff09;、 直方图、矢量图 ⑤ 支持峰值对焦、斑马纹、伪彩色、 单色、安全框遮幅标记 ⑥ 支持任意缩放画面&#xff0c;支…

远程桌面连接不上怎么连服务器,原因是什么?如何解决?

远程桌面连接不上怎么连服务器&#xff0c;原因是什么&#xff1f;如何解决&#xff1f; 面对远程桌面连接不上的困境&#xff0c;我们有办法&#xff01; 当你尝试通过远程桌面连接服务器&#xff0c;但遭遇连接失败的挫折时&#xff0c;不要慌张。这种情况可能由多种原因引起…

Redis20种使用场景

Redis20种使用场景 1缓存2抽奖3Set实现点赞/收藏功能4排行榜5PV统计&#xff08;incr自增计数&#xff09;6UV统计&#xff08;HeyperLogLog&#xff09;7去重&#xff08;BloomFiler&#xff09;8用户签到&#xff08;BitMap&#xff09;9GEO搜附近10简单限流11全局ID12简单分…

【Docker】Docker部署Java程序

Maven中使用打包插件 <build><finalName>duanjian</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><mainClass…

性能测试 --概念

什么是性能测试 性能测试和功能测试都是在系统测试阶段运行, 两者有什么区别呢? 案例:豌豆射手和三线射手都是射手, 它们的功能都是向前发射豌豆进行攻击, 能够攻击到地面的僵尸. 但是从性能上来讲, 豌豆射手只能攻击到一路的僵尸, 而三线射手能同时攻击三路(注:放在边路实际…

【unity】用代码实现“碰到障碍后 运动对象的运动方向如何改变(反弹/滑行)”

想要实现的效果&#xff1a; 例1&#xff1a;飞出的弹丸&#xff0c;碰到墙壁后&#xff0c;反弹。【↘️| 】——>【↙️| 】 例2&#xff1a;向右下方【↘️】移动的对象&#xff0c;碰到右侧的墙壁 【↘️| 】 后&#xff0c;继续沿着着墙壁向下方移动【↓ | 】 为什么要…

npm run build 时出现语法报错 Module parse failed: Unexpected token

错误原因 出现这个错误一般是你使用了或者引用的包里出现了ES6的语法&#xff0c;但是你的webpack可能是4.x或者更低版本的&#xff0c; 这时候单靠webpack本身无法识别ES6的语法&#xff0c;但是升级webpack到5可能会与现有的代码产生兼容性问题&#xff0c;因此就需要引入b…

服务器内存占用不足会怎么样,解决方案

在当今数据驱动的时代&#xff0c;服务器对于我们的工作和生活起着举足轻重的作用。而在众多影响服务器性能的关键因素当中&#xff0c;内存扮演着极其重要的角色。 服务器内存&#xff0c;也称RAM&#xff08;Random Access Memory&#xff09;&#xff0c;是服务器核心硬件部…

2024-AIDD-人工智能药物设计-使用的软件包和网络服务器

Python 软件包 化学信息学和结构生物信息学&#xff1a; rdkit: http://rdkit.org/openbabel: https://openbabel.org/mdanalysis: https://www.mdanalysis.org/biopython: https://biopython.org/biopandas: https://biopandas.github.io/biopandas/opencadd: https://openca…

算法-靠谱的车(数位模拟)

import java.util.*; public class Main{public static void main(String[] args){Scanner innew Scanner(System.in);int nin.nextInt(),copyn;// 取每一位上的数放入数组List<Integer> listnew ArrayList<>();while(n!0){int resn%10;list.add(0,res);n/10;}// 转…