爬虫技术是做什么的,十大爬虫app排行

首页 > 经验 > 作者:YD1662022-11-08 14:30:11

那么问题来了,Client 和 Server 之间需不需要天地会这样的暗号呢?

答案是需要

爬虫技术是做什么的,十大爬虫app排行(9)

Client 就像「帮派成员-甲」,Server 就像「帮派成员-乙」,而他们的密函很有可能会被其他「帮派成员-丁」拿走或伪造。既然天地会有接头暗号,那么 Client 和 Server 之间用什么来保障传递消息是第一手发出,而不是被拦截伪造的呢?

没错,签名验证!

签名验证是目前 IT 技术领域应用广泛的 API 接口数据保护方式之一,它能够有效防止消息接收端将被篡改或伪造的消息当作正常消息处理。

要注意的是,它的作用是防止消息接收端将被篡改或伪造的消息当作正常消息处理,而不是防止消息接受端接收假消息,事实上接口在收到消息的那一刻无法判断消息的真假。这一点非常重要,千万不要混淆了。

假设 Client 要将「下个月 5 号刺*鳌拜」这封重要密函交给 Server,抽象图如下:

爬虫技术是做什么的,十大爬虫app排行(10)

这时候如果发生冒充事件,会带来什么影响:

爬虫技术是做什么的,十大爬虫app排行(11)

其他「帮派成员-丁」从 Client 那里获得消息后进行了伪造,将刺*鳌拜的时间从 5 号改为 6号,导致 Server 收到的刺*时间是 6 号。这么一来,里应外合刺*鳌拜的事就会变成一方延迟动手,这次谋划已久的刺*行动大概率会失败,而且会造成不小的损失。

我们使用签名验证来改善这个消息传递和验证的事。这里可以简单将签名验证理解为在原消息的基础上进行一定规则的运算和加密,最终将加密结果放到消息中一并发送,消息接收者拿到消息后按照相同的规则进行运算和加密,将自己运算得到的加密值和传递过来的加密值进行比对,如果两值相同则代表消息没有被拦截伪造,反之可以判定消息被拦截伪造。

签名验证被广泛应用,例如下载操作系统镜像文件时官方网站会提供文件的 MD5 值、阿里巴巴/腾讯/华为等企业对外开放的接口中鉴权部分的 sign 值等。

以上反爬方法选自《Python3 反爬虫原理与绕过实战》

爬虫技术是做什么的,十大爬虫app排行(12)

上一页1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.