网络爬虫的危害,如何有效的防止非法利用

近年来,不法分子利用“爬虫”软件收集公民隐私数据案件屡见不鲜。2023年8月23日,北京市高级人民法院召开北京法院侵犯公民个人信息犯罪案件审判情况新闻通报会,通报侵犯公民个人隐私信息案件审判情况,并发布典型案例。在这些典型案例中,不法分子多是通过社交软件群、网站论坛等平台买卖或交换个人信息,“爬虫”软件成为收集大量信息的常用软件之一。

网络数据爬虫,又称为网络数据蜘蛛、互联网机器人等。它通过爬取互联网上网站的内容来工作。它是用计算机语言编写的程序或脚本,用于自动从Internet上获取任何信息或数据。爬虫扫描并抓取每个所需页面上的某些信息,自动实现对目标站点和目标信息的批量获取,包括信息采集、数据存储、信息提取。在利用爬虫技术时应采用搜索引擎的爬虫来对网页上的信息进行搜集和存储,应当严格遵守Robots协议规范爬取网页数据(如URL)。禁止未经合法授权或超越授权去侵入它人的网站服务器,确保爬虫程序不会突破或绕开网站服务器的防护措施。

爬虫技术手段

爬虫通用架构如下:

爬虫从待抓取URL队列依次读取,并将URL通过DNS解析,把链接地址转换为网站服务器对应的IP地址。然后将其和网页相对路径名称交给网页下载器,网页下载器负责页面的下载。对于下载到本地的网页,一方面将其存储到页面库中,等待建立索引等后续处理;另一方面将下载网页的URL放入已抓取队列中,这个队列记录了爬虫系统已经下载过的网页URL,以避免系统的重复抓取。对于刚下载的网页,从中抽取出包含的所有链接信息,并在已下载的URL队列中进行检查,如果发现链接还没有被抓取过,则放到待抓取URL队列的末尾,在之后的抓取调度中会下载这个URL对应的网页。如此这般,形成循环,直到待抓取URL队列为空。

爬虫的几种分类:

通用爬虫:

通用爬虫又称全网爬虫,它将爬取对象从一些种子 URL扩充到整个Web上的网站,主要用途是为门户站点搜索引擎和大型Web服务提供商采集数据。

聚焦爬虫:

聚焦爬虫,又称主题网络爬虫,是指选择性地爬行那些与预先定义好的主题相关的页面的网络爬虫。

增量式爬虫:

增量式网络爬虫是指在具有一定量规模的网络页面集合的基础上,采用更新数据的方式选取已有集合中的过时网页进行抓取,以保证所抓取到的数据与真实网络数据足够接近。

表层爬虫:

爬取表层网页的爬虫叫做表层爬虫。表层网页是指传统搜索引擎可以索引的页面,以超链接可以到达的静态网页为主构成的Web页面。

深层爬虫:

爬取深层网页的爬虫就叫做深层爬虫。深层网页是那些大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得的 Web 页面。

数据防护措施方案:

不法分子利用恶意爬虫不遵守网站的robots协议,对网站中某些深层次的、不愿意公开的数据肆意爬取,其中不乏个人隐私或者商业秘密等重要信息,并有可能给对方服务器性能造成极大损耗。未经过网站服务器的合法授权去抓取数据会干扰网站的正常运营,而非正规爬虫自动持续且高频次地对网站服务器发起请求,服务器负载飙升,同一时间大量的爬虫请求会让网站服务器过载或崩溃,尤其是中小网站可能会面临网站打不开、网页加载极其缓慢、甚至直接瘫痪的情况。下面我讲介绍几种防护方法:

1.Uswe-Agent 反爬虫

User-Agent是请求头的一部分,在用户请求网站时会告诉网站服务器,网站服务器可以通过请求头参数中的 User-Agent 来判断请求方是否是浏览器、客户端程序或者其他的终端,如果是通过爬虫方式请求则为默认的请求头信息,直接过滤拒绝访问,如果是用户浏览器,就会应答。

在网站服务器设置User-Agent,添加指定的User-Agent请求头信息,User-Agent存放于Headers中,网站服务器就是通过查看Headers中的User-Agent字段中的值来判断是谁在请求访问网站。当用户或者爬虫程序请求访问网站时网站服务器会自动的去检测连接对象,如果检测到请求头中未包含指定的User-Agent的话,网站本身的反爬虫程序就会识别出你是通过爬虫程序在访问网站,网站服务器会判断是非法请求,从而拒绝访问 。如果检测对象的User-Agent为指定的请求头信息则接受访问。

2.黑名单策略

在网站服务器中配置黑名单策略,当请求方发起请求后网站服务器进行识别、只要编程语言出现在黑名单策略中,都视为爬虫,对于此类请求可以不予处理或者返回相应的错误提示。

2.User-Agent访问

网站服务器后台对访问进行统计,如果单个User-Agent访问超过指定阈值,予以临时封锁或永久性封锁。

3.单个IP访问

网站服务器后台对请求访问的IP进行统计,如果单个IP访问超过指定阈值,予以临时封锁或永久性封锁。

结语 :

当前,互联网数据作为新型生产要素,正深刻影响着国家经济社会的发展。大量恶意爬虫窃取网站核心数据,应当采取数据防护措施手段,保障数据得到有效保护和合法利用,并使数据持续处于安全状态的能力以及保障网站服务器的正常运转和降低服务器的压力与运营成本。通过反爬虫技术手段对网站数据进行防护,避免被那些不遵守网站robots协议的恶意爬虫肆意高频次的从网站爬取个人信息数据、企业非公开和国家重要等数据。  

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

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

相关文章

从零开始手写RPC框架(1)

学习java后端也有一段时间了,在网上寻一些教程和github上的开源库,学习从零开始手写一个RPC,学习各位大牛的代码适当修改,并贴上自己的一些见解和注释。 目录 RPC简介RPC和HttpClient的区别和共同点常见RPC框架 RPC框架设计常见序…

知识付费APP软件开发流程

现在在网上学习知识大部分免费的很多,付费也站一部分。也有些人会利用稀少的资源进行付费推广,在以后的发展中付费的趋势将会越来越严重,毕竟别人辛苦制作的知识很轻松的就被别人拿去卖了就会出现付出和收入不成正比。知识付费的APP软件也将会…

Git自动忽略dll文件的问题

检查了半天发现是sourcetreee的全局忽略文件导致, 从里面删除dll即可。 我是干脆直接删了全局忽略,太恶心了,如下: #ignore thumbnails created by windows Thumbs.db #Ignore files build by Visual Studio *.exe .vsconfig .s…

C#,动态规划(DP)金矿问题(Gold Mine Problem)的算法与源代码

1 金矿问题(Gold Mine Problem) 给定一个N*M尺寸的金矿,每个点都有一个非负数表示当前点所含的黄金数目,最开始矿工位于第一列,但是可以位于任意行。矿工只能向右,右上,右下三个方向移动。问该…

Java项目:29 基于SpringBoot+thymeleaf实现的图书管理系统

作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 基于SpringBootthymeleaf实现的图书管理系统分为管理员、读者两个登录角色,一共是8个功能模块 管理员权限 图书管理: 添加图…

论文设计任务书学习文档|基于智能搜索引擎的图书管理系统的设计与实现

文章目录 论文(设计)题目:基于智能搜索引擎的图书管理系统的设计与实现1、论文(设计)的主要任务及目标2、论文(设计)的主要内容3、论文(设计)的基本要求4、进度安排论文(设计)题目:基于智能搜索引擎的图书管理系统的设计与实现 1、论文(设计)的主要任务及目标 …

STM32 Cubemx配置SPI编程(使用Flash模块)

文章目录 前言一、W25Q64模块介绍二、STM32Cubemx配置SPI三、SPI HAL库操作函数分析3.1查询方式3.2中断方式 四、Flash时序分析1.读器件ID指令2.写使能3.擦除扇区4.页编程5.读数据6.读状态寄存器 五、Flash驱动程序编写1.代码编写测试 总结 前言 本篇文章来为大家讲解一下Flas…

安全评估与安全评价:区分核心概念

在当今信息化社会中,保护数据和网络安全变得尤为重要。为了确保系统和组织的安全,我们需要了解并正确运用安全评估和安全评价这两个核心概念。虽然它们听起来相似,但其实它们有着不同的定义和目的。 首先,安全评估是一种系统性的…

如何选择合适的汽车芯片ERP系统?

随着汽车产业的飞速发展,汽车芯片作为关键组件,其管理变得愈发重要。为了高效管理汽车芯片的生产、销售、库存等各个环节,许多企业开始引入汽车芯片ERP(企业资源规划)系统。那么,如何选择合适的汽车芯片ERP系统呢? 明确需求是关键…

unity学习(42)——创建(create)角色脚本(panel)——UserHandler(收)+CreateClick(发)——服务器收包2

1.解决上一次留下的问题: log和reg的时候也有session,输出看一下这两个session是同一个不: 实测结果reg log accOnline中的session都是同一个对象,但是getAccid时候的session就是另一个了。 测试结果,说明在LogicHan…

liunx操作系统 进程的基本概念

进程的基本概念 计算机结构体系冯诺依曼 操作系统的管理进程进程的特性标识符系统的调用 创建新的进程 进程的状态进程队列进程的状态在liunx查看进程状态、 计算机结构体系 冯诺依曼 在没有存储器之前,所有的信息都是直接进入CPU,这样效率很差&#xf…

【Python笔记-设计模式】观察者模式

一、说明 观察者模式是一种行为设计模式,允许你定义一种订阅机制,可在对象事件发生时通知“监控”该对象的其他对象。 (一) 解决问题 主要解决一个对象的状态变化时,需要通知其他对象,并且这些被通知的对象可能是多个且不确定的…