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

news2024/11/17 23:58:41

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

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

相关文章

【物联网应用案例】智能农业应用案例

随着物联网 (IoT) 的广泛应用,各种互联设备已经深度融入我们的生活,涵盖了健康与健身、家庭自动化、物流运输以及智慧城市和工业物联网等多个领域。因此,将物联网、联网设备和自动化技术应用于农业,是十分符合时代发展需求的&…

vue3 开发记录

1.引入nprogress插件,显示未声明文件 无法找到模块“nprogress”的声明文件。 解决方法: vite-env.d.ts // 解决引入模块的报错提示 declare module "nprogress";2.在 .evn 文件中创建了自定义环境变量 VITE_APP_BASE_URL 但在项目中使用时出…

Real-time object detection and 3D scene perception in self-driving cars

摘要 可靠的城市自动驾驶取决于车辆感知和导航环境的能力。本论文的研究重点是设计并实现一个基于视觉的NUSTAG自动驾驶汽车感知系统。主要任务是使用立体相机馈送来估计汽车、自行车和行人的位置,从而实现3D边界框估计和深度感知。此外,使用2D对象检测…

SpringBoot集成EasyExcel快速人们

目录 1.背景介绍 2.EasyExcel的使用 1.添加依赖 2.相关代码准备 1.实体类 2.ExcelUtil工具类 3.写入控制类 1.背景介绍 EasyExcel 是阿里巴巴开发的一款基于 Java 的专业化 Excel 操作工具,主要用于在 Java 应用程序中快速、高效地读写 Excel 文件。EasyExce…

第二周opencv

一、边缘检测算子 边缘检测算子是用于检测图像中物体边界的工具。边缘通常表示图像中灰度值或颜色发生显著变化的地方。边缘检测有助于识别图像中的物体形状、轮廓和结构。这些算子通过分析图像的灰度或颜色梯度来确定图像中的边缘。 1、Roberts 算子 通过局部差分计算检测边缘…

Github 2024-02-28 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-02-28统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5Rust项目2Zig项目1JavaScript项目1C项目1 免费API集合列表 创建周期:2901 天开发语言…

C++观察者模式代码实例

文章目录 C观察者模式代码实例一C观察者模式代码实例二 C观察者模式代码实例一 下面是一个简单的C观察者模式的实现示例,这里仅给出核心代码框架,完整的工程应包含对应的头文件声明及必要的#include指令等。 // 观察者接口(Observer&#x…

.net 在ubuntu下动态写入 中文字乱码 解决:ubuntu下添加中文字库

.net 在ubuntu下动态写入图片水印 中文字乱码 解决:ubuntu下添加中文字库 1.安装字体命令 sudo apt install -y fontconfig2.查看已安装的字体 (1)查看linux已安装字体 fc-list(2)查看linux已安装中文字体 fc-li…

内存函数(memcpy/memmove/memcmp/memset)

目录 memcpymemcpy函数的模拟实现 memmovememmove函数的模拟实现 memcmpmemset memcpy void * memcpy ( void * destination, const void * source, size_t num ); 函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置这个函数在遇到 ‘\0’ 的时候…

实战Kafka的部署

目录 一、环境准备 二、安装配置jdk8 (1)Kafka、Zookeeper(简称:ZK)运行依赖jdk8 三、安装配置ZK (1)安装 (2)配置 四、配置Kafka (1)配置…

day08_面向对象基础_内存关系

零、今日内容 一、作业 二、面向对象 一、作业 package com.qf.homework;import java.util.Arrays;/*** --- 天道酬勤 ---** author QiuShiju* date 2024/2/28* desc*/ public class Homework {public static void main(String[] args) {test();}//写一个方法 用于合并两个int…

golang 泛型详解

目录 概念 ~int vs .int 常见的用途和错误 结论: 概念 Go 在1.18 中添加了泛型,这样Go 就可以在定义时不定义类型,而是在使用时进行类型的定义,并且还可以在编译期间对参数类型进行校验。Go 目前只支持泛型方法,还…

无源蜂鸣器驱动实验

1.原理 计划是,生成不同的7个频率控制蜂鸣器发声,每个音调发声0.5秒。 50MHZ计数0.5秒,50MHZ一个周期20ns,要计数0.5秒 ,0.5/0.000_000_02s25000_000个时钟周期。因为是从0开始计数,所以计数的最大值是0-24…

docker版本 jenkins配置gitlab自动部署

前端项目 Build steps pwd npm config set registry https://registry.npm.taobao.org npm -v node -v #npm install npm run build:prod tar -czvf QASystem.tar.gz distpwd cd /data/zhouxy37/vue_deploy tar -zxvf QASystem.tar.gz sudo mv dist QASystem cp -r QASyste…

K8S常用kubectl命令汇总(持续更新中)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

NGINX的重写与反向代理机制解析

目录 引言 一、重写功能 (一)if指令 1.判断访问使用的协议 2.判断文件 (二)return指令 1.设置返回状态码 2.返回指定内容 3.指定URL (三)set指令 1.手动输入变量值 2.调用其它变量值为自定义变…

web学习笔记(二十二)DOM开始

目录 1.DOM简介 2.DOM树 3.DOM节点 4.查找DOM节点方法汇总 5.查找子结点的属性 5.1父子关系 5.2兄弟关系 6.几个特殊元素的查找 1.DOM简介 DOM(Document Object Model) 也叫页面文档对象模型,是W3C组织推荐的处理可扩展标记语言(HTML…

蓝桥杯第十二届电子类单片机组程序设计

目录 前言 蓝桥杯大赛历届真题_蓝桥杯 - 蓝桥云课(点击查看) 单片机资源数据包_2023(点击下载) 一、第十二届比赛原题 1.比赛题目 2.题目解读 蓝桥杯第十四届电子类单片机组程序设计_蓝桥杯单片机哪一届最难-CSDN博客 二、…

TV-SAM 新型零样本医学图像分割算法:GPT-4语言处理 + GLIP视觉理解 + SAM分割技术

TV-SAM 新型零样本医学图像分割算法:GPT-4语言处理 GLIP视觉理解 SAM分割技术 提出背景TV-SAM 方法论 提出背景 论文:https://arxiv.org/ftp/arxiv/papers/2402/2402.15759.pdf 代码:https://github.com/JZK00/TV-SAM 利用了GPT-4的强大语…

深入理解Spring Security

第1章:Spring Security简介 大家好,我是小黑,在谈到网站安全的时候,Spring Security是个避不开的话题。它就像是个守门员,决定谁能进入我们的网站,又能在网站的哪些角落里走动。简单来说,Sprin…