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

近年来,不法分子利用“爬虫”软件收集公民隐私数据案件屡见不鲜。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.mzph.cn/news/711872.shtml

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

相关文章

获取PDF中的布局信息——如何获取段落

PDF解析是极其复杂的问题。不可能靠一个工具解决全部问题,尤其是五花八门,格式不统一的PDF文件。除非有钞能力。如果没有那就看看可以分为哪些问题。 提取文本内容,提取表格内容,提取图片。我认为这些应该是分开做的事情。python有…

DataSpell 2023:专注于数据,加速您的数据科学之旅 mac/win版

JetBrains DataSpell 2023是一款专为数据科学家和数据分析师设计的集成开发环境(IDE)。这款IDE提供了强大的数据分析和可视化工具,旨在帮助用户更快速、更高效地进行数据科学工作。 DataSpell 2023软件获取 DataSpell 2023在保持其一贯的数…

【多线程】常见锁策略详解(面试常考题型)

目录 🌴 乐观锁 vs 悲观锁🎍重量级锁 vs 轻量级锁🍀自旋锁(Spin Lock)🎋公平锁 vs ⾮公平锁🌳可重⼊锁 vs 不可重⼊锁🎄读写锁⭕相关面试题 常⻅的锁策略 注意: 接下来讲解的锁策略不…

cpp基础学习笔记03:类型转换

static_cast 静态转换 用于类层次结构中基类和派生类之间指针或者引用的转换。up-casting (把派生类的指针或引用转换成基类的指针或者引用表示)是安全的;down-casting(把基类指针或引用转换成子类的指针或者引用)是不安全的。用于基本数据类型之间的转换&#xff…

Flutter Version Manager (FVM): Flutter的版本管理终极指南

Flutter笔记 Flutter Version Manager (FVM) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netEmail: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/article/details/136300307 my-websit…

SQL-Labs靶场“26-28”关通关教程

君衍. 一、二十六关 基于GET过滤空格以及注释报错注入1、源码分析2、绕过思路3、updatexml报错注入 二、二十六a关 基于GET过滤空格注释字符型注入1、源码分析2、绕过思路3、时间盲注 三、二十七关 基于union及select的过滤单引号注入1、源码分析2、绕过思路3、联合查询注入4、…

CELL文献速递 | 了解微生物如何在社会中传播并塑造我们的健康

谷禾健康 当人还是婴儿时,会从父母那里得到微生物;和宠物玩耍或接触时,也会从宠物那得到微生物;有时候人没有直接和动物玩耍,只是接触动物的粪便,甚至其他环境的微生物,都会交换微生物... 这些其…

智慧治水丨计讯物联水利RTU助推小型水库出险加固工程建设与管理

日前,水利部印发《关于健全小型水库除险加固和运行管护机制的意见》(以下简称《意见》),健全小型水库除险加固和运行管护常态化机制,提高小型水库安全管理水平。《意见》提出了“十四五”的两大管理机制,通…

adb下载安装及使用教程

adb下载安装及使用教程 一、ADB的介绍1.ADB是什么?2.内容简介3.ADB常用命令1. ADB查看设备2. ADB安装软件3. ADB卸载软件4. ADB登录设备shell5. ADB从电脑上发送文件到设备6. ADB从设备上下载文件到电脑7. ADB显示帮助信息 4.为什么要用ADB 二、ADB的下载1.Windows版…

Python中reduce函数和lambda表达式的学习

reduce函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数…

【论文精读】DINOv2

摘要 学习与特定任务无关的预训练表示已经成为自然语言处理的标准,这些表示不进行微调,即可在下游任务上明显优于特定任务模型的性能。其主要得益于使用无监督语言建模目标对大量原始文本进行预训练。 遵循NLP中的这种范式转变,以探索计算机视…

iSlide插件2024免费版(包含52 个PPT设计辅助功能,9 大在线资源库,以及超 50 万 专业)

一、功能介绍 iSlide是一款专为PowerPoint设计的插件,它集合了众多设计与效率提升的功能,帮助用户更快速、更美观地制作演示文稿。 主题设计:提供多种设计主题,用户只需一键应用,即可为幻灯片赋予统一的视觉风格。智…

每次提出一个bug都让测试重现,描述得那么清楚,自己操作下不会吗?

一说到测试和开发的关系,你一定会想到一个词“冤家”。 开发的工作就是按照PM的设计将产品最终造出来,而测试则是在开发已完成的工作里纠错。so,测试的工作会让开发很不爽,人之常情,谁都不喜欢自己的劳动成果被别人挑…

react路由基础

1.目录 A. 能够说出React路由的作用 B. 能够掌握react-router-dom的基本使用 C. 能够使用编程式导航跳转路由 D. 能够知道React路由的匹配模式 2.目录 A. React路由介绍 B. 路由的基本使用 C. 路由的执行过程 D. 编程式导航 E. 默认路由 F. 匹配模式 3.react路由介绍 现代…

开源项目:图像分类技术在医疗影像分析中的应用与实践

一、引言 在当今快速发展的医疗行业中,数字医疗正逐渐成为提升医疗服务质量和效率的关键力量。本项目旨在通过整合医药电商、远程问诊、慢病管理等多维度服务,为消费者和企业提供全面的医疗解决方案。项目的核心在于运用先进的图像分类技术,以…

回归测试:在不断变化的环境中确保软件的稳定性

软件开发是一个复杂的过程,需要不断变化和更新以满足客户不断变化的需求,但它们也可能产生新问题或导致旧问题重新出现。这就是回归测试的用武之地——它是在不断变化的环境中确保软件稳定性的重要组成部分。 在这篇文章中,我们将深入探讨什…

第40期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

基于springboot + vue实现的前后端分离-在线旅游网站系统(项目 + 论文)

项目介绍 本旅游网站系统采用的数据库是MYSQL ,使用 JSP 技术开发,在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。 技术选型 后端: SpringBoot Mybatis 数据库 : MyS…

UE5 文字游戏(1) 仅UI截图转换为texture2d(适用于window端)

目录 需求 思路 1.截图并读取到本地 2.本地读取图片并转换为纹理2d 效果展示 找了好多的解决办法,都不管用。这个算是折中的。 需求 将当前的用户控件(ui)截图下来,并赋值到一个texture2d上。 我的需求:文字游戏…

初学JavaWeb开发总结

0 什么是Web开发 Web: 全球广域网,又称万维网(www World Wide Web),能够通过浏览器访问的网站。 Web开发,就是开发网站的,如:淘宝、京东等等。 1 网站的工作流程 流程: 浏览器先向前端服务器请求前端资…