爬虫怎么学 网络爬虫是什么( 二 )


没错,签名验证!
签名验证是目前IT领域广泛使用的API接口数据保护方法之一,可以有效防止消息接收方将篡改或伪造的消息视为正常消息 。
需要注意的是,它的作用是防止消息接收者将篡改或伪造的消息视为正常消息,而不是防止消息接收者接收虚假消息 。事实上,界面在接收消息的瞬间无法判断消息的真假 。这个很重要,不要搞混了 。
假设客户想把重要的密函“下月5日鳌拜遇刺”交给服务器 。抽象图如下:
此时,如果出现冒名事件,会带来什么影响:
其他团伙成员——丁从客户端收到信息后伪造,将遇刺时间从5日改为6日,导致服务器收到的暗杀时间为6日 。这样一来,从内部暗杀鳌拜就会成为一种拖延,而蓄谋已久的暗杀行动很大概率会失败,并且会造成很大的损失 。
我们使用签名验证来改进这种消息传递和验证 。在这里,签名验证可以简单理解为在原始消息的基础上对某些规则进行操作和加密,最后将加密结果一起发送到消息中 。消息接收者得到消息后,按照相同的规则进行运算和加密,将自己计算的加密值与发送的加密值进行比较 。如果两个值相同,则表示消息没有被截获和伪造;否则,可以判断该消息已被拦截和伪造 。
签名验证应用广泛,比如下载操作系统镜像文件时,官网会提供文件的MD5值,以及阿里巴巴/腾讯/华为等企业界面中认证部分的Sign值 。
以上防爬方法选自Python3防爬原理和旁路实战 。
魏世东《Python 3反爬虫原理与绕过实战》
这本书是爬行动物领域第一本介绍反爬行动物的书 。被誉为爬行类工程师不容错过的“武功秘籍” 。腾讯和马蜂巢工程师强烈推荐 。
知其然,知其所以然,文武双全,本书从攻防角度进行解读,描述了爬虫技术与反爬虫技术的对抗过程,并详细介绍了原理和具体实现方法 。
从这本书里,你会了解到上面提到的签名验证和反爬虫技术的成因和绕过方法,比如文本混淆、动态渲染、加解密、代码混淆和行为验证码 。
爬虫技术是一把双刃剑 。希望你能用学到的技术进行保护,提高应用保护水平,用剑修炼剑,在技术的江湖中,攻守兼备~
写在最后爬行动物本身并没有违反法律 。但是在运行程序的过程中,可能会对别人的网站造成损害 。被抓取的数据可能涉及隐私或保密,数据本身也可能引起法律纠纷 。

推荐阅读