当前位置: 首页 > news >正文

#渗透测试#漏洞挖掘#红蓝攻防#漏洞挖掘#未授权漏洞-Es未授权漏洞

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。

目录

 一、Elasticsearch

二、ES的主要作用

三、什么是es未授权?

1.“es未授权”的含义

2.判断是否存在“es未授权”漏洞

3.“es未授权”漏洞产生的原因

4.防范“es未授权”漏洞的措施

四、es如何查看node节点

1. 使用 _cat/nodes API

2. 使用 _nodes API

3. 使用 Kibana Dev Tools

4. 使用 Elasticsearch Head 插件

5. 查看主节点

五、ES未授权访问的案例

六、ES未授权访问的检测方法


 一、Elasticsearch

Elasticsearch(简称ES)是一种分布式搜索引擎,它能够提供实时的全文搜索和分析功能。Elasticsearch是基于Apache Lucene构建的,但相比Lucene,它提供了更高级的功能和更友好的用户接口。Elasticsearch不仅可以用于日志数据的快速检索和分析,还可以用于电商、在线媒体等平台的推荐系统,社交媒体分析,以及各种需要全文搜索的应用场景。

Elasticsearch的特点包括:

  • 分布式:Elasticsearch是一个分布式搜索引擎,可以水平扩展以处理大量的数据和并发请求。
  • 实时性:Elasticsearch能够实时地索引和查询数据,这对于需要实时响应的应用场景非常重要。
  • 全文搜索:Elasticsearch提供了强大的全文搜索功能,支持多字段匹配、高亮显示等特性。
  • 易用性:Elasticsearch提供了RESTful API,使得开发者可以很方便地与之交互。
  • 可扩展性:Elasticsearch可以通过插件机制扩展其功能,例如支持地理空间查询、机器学习等。

二、ES的主要作用

包括以下几个方面:

  1. 全文搜索:Elasticsearch 提供强大的全文搜索功能,允许用户在大规模文本数据集中快速执行全文搜索操作。这使得它非常适合用于实现网站的站内搜索、文档管理系统中的搜索功能等。

  2. 实时数据分析:Elasticsearch 支持实时数据分析,用户可以实时地插入、更新和查询数据。这使得 Elasticsearch 在需要快速响应和实时数据分析的应用场景中非常有用,如监控系统、日志分析等。

  3. 日志和事件数据存储:Elasticsearch 被广泛用于存储和分析大量的日志和事件数据。通过与 Logstash 配合使用,可以方便地将各种数据源的日志数据导入 Elasticsearch 中,然后使用 Kibana 进行可视化和分析。

  4. 业务智能和分析:Elasticsearch 可以用于构建业务智能和分析应用程序,帮助用户理解他们的数据并从中提取有价值的信息。通过复杂的查询和聚合功能,用户可以对数据进行深入分析。

  5. 数据存储和分析:Elasticsearch 可以为所有类型的数据提供实时的搜索和分析,包括结构化文本、非结构化文本、数字数据或地理空间数据。Elasticsearch 能够以快速搜索的方式有效地对其进行存储和建立索引。

  6. 自动化业务工作流程:使用 Elasticsearch 作为存储引擎可以自动化业务工作流程,提高效率。

  7. 地理信息系统 (GIS):使用 Elasticsearch 可以作为地理信息系统管理,集成和分析空间信息。

  8. 生物信息学研究:Elasticsearch 可以作为生物信息学研究工具来存储和处理遗传数据。

三、什么是es未授权?

1.“es未授权”的含义

“es未授权”指的是ElasticSearch在默认配置下可能存在未授权访问风险,即允许非法查询和操作数据,攻击者可以在没有经过任何身份验证的情况下访问ElasticSearch服务中的数据,并且能够进行各种操作,如查询、修改甚至删除数据等操作,这会导致业务系统面临敏感数据泄露、数据丢失、数据遭到破坏甚至遭到攻击者的勒索等严重后果。ElasticSearch是一款Java编写的企业级搜索服务,它基于RESTful web接口,其增删改查操作全部由http接口完成,启动此服务默认开放HTTP - 9200端口,可被非法操作数据。

2.判断是否存在“es未授权”漏洞

  1. 通过访问特定URL查看返回字段
    • 如果访问http://ip/9200,返回字段中有“you know,for search”则代表有未授权漏洞。
    • 如果有登录点,则不存在未授权漏洞。

3.“es未授权”漏洞产生的原因

  • 授权模块需付费:由于Elasticsearch授权模块需要付费,所以免费开源的Elasticsearch可能存在未授权访问漏洞。

4.防范“es未授权”漏洞的措施

  1. 限制HTTP端口访问
    • 限制http端口的IP访问,不对公网开放,只对内网开放。例如修改主目录下config/elasticsearch.yml 配置文件,将network.host 配置为内网地址或者127.0.0.1 1。
  2. 启用访问验证
    • 通过安装并配置x - pack插件启用访问验证,在主目录(如/usr/share/elasticsearch)下运行bin/elasticsearch - plugin install x - pack安装x - pack插件,在config/elasticsearch.yml 配置文件增加xpack.security.enabled:True 的配置,然后运行命令bin/x - pack/setup - passwords interactive为ES服务设置密码,最后重启ES服务。
  3. 其他措施
    • 整改建议还包括设置nginx反向代理、升级到安全版本以及使用Elasticsearch漏洞监测工具来检查索引安全性、SSL/TLS加密等方面是否存在问题等。这些工具可以检测Elasticsearch的索引是否设置有适当的访问控制,防止未授权的数据读取或写入,还会检查Elasticsearch实例是否使用SSL/TLS进行加密通信以保护数据在传输过程中的安全等。

四、es如何查看node节点

在Elasticsearch中,查看节点(node)的信息可以通过多种方式实现。以下是几种常见的方法:

1. 使用 _cat/nodes API

_cat/nodes API 可以用来查看集群中所有节点的基本信息。你可以通过以下命令来获取这些信息:

curl -X GET "localhost:9200/_cat/nodes?v"

这个命令会返回一个表格,其中包含了每个节点的 IP 地址、堆内存使用情况、CPU 负载、节点角色等信息。v 参数表示以更易读的格式返回结果。

2. 使用 _nodes API

_nodes API 提供了更详细的节点信息,包括节点的配置、运行状态等。你可以通过以下命令来获取这些信息:

curl -X GET "localhost:9200/_nodes?pretty"

这个命令会返回一个 JSON 对象,其中包含了每个节点的详细信息。pretty 参数表示以更易读的格式返回结果。

3. 使用 Kibana Dev Tools

如果你安装了 Kibana,你也可以使用 Dev Tools 来查看节点信息。在 Dev Tools 控制台中输入以下命令:

GET _nodes 

这将返回与上述 curl 命令相同的结果。

4. 使用 Elasticsearch Head 插件

Elasticsearch Head 是一个基于 Web 的轻量级工具,可以用来查看集群信息、索引、文档等。你可以通过以下步骤来使用它:

  1. 安装 Elasticsearch Head 插件。
  2. 打开浏览器,访问 http://localhost:9100/
  3. 在界面中选择“Cluster”选项卡,可以看到集群中所有节点的信息。

5. 查看主节点

如果你想查看当前集群中哪个节点是主节点(master),可以使用以下命令:

curl -X GET "localhost:9200/_cat/master?v"

这个命令会返回主节点的名称和其他相关信息。

五、ES未授权访问的案例

  • Elasticsearch未授权访问利用:在一个案例中,攻击者发现了一个未授权访问的Elasticsearch实例,并尝试利用这一漏洞。攻击者首先查找有多少数据库(实际上是index),然后查找数据库中有多少数据表(实际上是type)。攻击者可以查看具体数据,默认值返回10条数据,如果需要可以修改size。此外,攻击者还可能利用低版本的Elasticsearch进行命令执行。

  • 黑产团伙利用ES未授权访问漏洞实施勒索:在一个真实案例中,黑产团伙利用Elasticsearch未授权访问漏洞,删除了所有索引,并留下勒索信息,要求受害者支付0.021比特币以恢复数据。这种勒索方式对企业的损失是不可估量的。该团伙通过网络空间搜索引擎,搜索端口9200开放的目标,批量检测并添加勒索信息。建议各家企业自查自家使用的Elasticsearch是否存在公网可以访问并且存在未授权访问问题的系统。

六、ES未授权访问的检测方法

asticsearch(简称ES)未授权访问的检测方法主要包括以下几个步骤:

  1. 端口扫描:使用端口扫描工具(如Nmap)扫描目标主机的9200端口,这是Elasticsearch默认的HTTP端口。如果该端口开放,说明可能存在未授权访问的风险。

  2. 尝试访问:在浏览器中输入目标主机的IP地址和9200端口,例如http://<目标IP>:9200。如果能够访问且没有弹出登录界面,说明Elasticsearch可能存在未授权访问的问题。

  3. 查看配置文件:如果能够访问目标主机的文件系统,可以查看Elasticsearch的配置文件(通常是elasticsearch.yml )。检查network.host 配置项是否设置为0.0.0.0127.0.0.1以外的值。如果是,说明Elasticsearch可能对外网开放。

  4. 使用安全工具:可以使用一些安全工具(如Burp Suite、Fiddler等)来模拟攻击者的行为,尝试访问Elasticsearch的API接口。如果能够成功访问并获取数据,说明存在未授权访问的风险。

  5. 检查访问日志:查看Elasticsearch的访问日志,检查是否有异常的访问记录。如果有来自未知IP地址的频繁访问,可能是有人在尝试未授权访问。

  6. 使用网络空间搜索引擎:可以使用网络空间搜索引擎(如Shodan、ZoomEye等)搜索开放9200端口的主机。这些工具可以帮助快速定位可能存在未授权访问风险的Elasticsearch实例。

相关文章:

#渗透测试#漏洞挖掘#红蓝攻防#漏洞挖掘#未授权漏洞-Es未授权漏洞

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…...

Windows 使用 非安装版MySQL 8

1.下载MySQL 8 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.40-winx64.zip 2.创建my.ini 下载解压后&#xff0c;发现根目录没有my.ini文件&#xff0c;需手动创建 my.ini # For advice on how to change settings please see # http://dev.mysql.com/doc/refma…...

nginx Rewrite 相关功能

一、Nginx Rewrite 概述 定义 Nginx 的 Rewrite 模块允许对请求的 URI 进行重写操作。它可以基于一定的规则修改请求的 URL 路径&#xff0c;然后将请求定向到新的 URL 地址&#xff0c;这在很多场景下都非常有用&#xff0c;比如实现 URL 美化、网站重构后的 URL 跳转等。主要…...

2024年AI相关的论文写作经验(附实践资料下载)

在撰写AI相关的论文时&#xff0c;以下是一些实用的经验和技巧&#xff1a; 明确写作目标&#xff1a;在开始写作之前&#xff0c;明确你的论文类型&#xff08;期刊论文、毕业论文等&#xff09;和目标&#xff0c;这将影响你的写作方式和工具选择。 AI辅助文献检索&#xff…...

List详解

List详解 在Java中&#xff0c;List是一个接口&#xff0c;它继承自Collection接口。List接口为数据的有序集合提供了操作接口&#xff0c;其中可以包含重复的元素。这个接口的实现类以特定的方式存储元素&#xff0c;允许元素根据索引进行访问&#xff0c;同时还支持通过迭代…...

Flutter实现可拖拽操作Draggable

文章目录 1. Draggable 控件的构造函数主要参数&#xff1a; 2. Draggable 的工作原理3. 常见用法示例 1&#xff1a;基本的拖拽控件解释&#xff1a;示例 2&#xff1a;与 DragTarget 配合使用解释&#xff1a; 4. Draggable 的回调详解5. 总结 Draggable 是 Flutter 中一个用…...

【QSS样式表 - ⑥】:QPushButton控件样式

文章目录 QPushBUtton控件样式QSS示例 QPushBUtton控件样式 常用子控件 常用伪状态 QSS示例 代码&#xff1a; QPushButton {background-color: #99B5D1;color: white;font-weigth: bold;border-radius: 20px; }QPushButton:hover {background-color: red; }QPushButton:p…...

DPO(Direct Preference Optimization)算法解释:中英双语

中文版 DPO paper: https://arxiv.org/pdf/2305.18290 DPO 算法详解&#xff1a;从理论到实现 1. 什么是 DPO&#xff1f; DPO&#xff08;Direct Preference Optimization&#xff09;是一种直接基于人类偏好进行优化的算法&#xff0c;旨在解决从人类偏好数据中训练出表现…...

springboot495基于java的物资综合管理系统的设计与实现(论文+源码)_kaic

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统物资综合管理系统信息管理难度大&#xff0c;容错率低&am…...

JavaScript语言的编程范式

JavaScript&#xff1a;面向对象与函数式编程的双重奏 在编程世界中&#xff0c;JavaScript 无疑是一颗璀璨的明星&#xff0c;它不仅主宰着前端开发领域&#xff0c;还在后端、桌面应用、甚至物联网设备上展现出了强大的生命力。JavaScript 的魅力在于其灵活多变的编程范式&a…...

MyBatis动态 SQL 的执行原理

MyBatis 动态 SQL 是 MyBatis 框架中的一个重要特性&#xff0c;它允许开发者根据条件动态地生成不同的 SQL 语句。通过使用动态 SQL&#xff0c;开发者可以根据传入的参数动态地构建 SQL 查询&#xff0c;这样就避免了写多个 SQL 语句&#xff0c;提升了代码的灵活性和可维护性…...

PostgreSQL自带的一个命令行工具pg_waldump

pg_waldump是PostgreSQL自带的一个命令行工具&#xff0c;用于以人类可读的形式显示PostgreSQL数据库集簇的预写式日志&#xff08;Write-Ahead Logging&#xff0c;WAL&#xff09;。以下是对pg_waldump的详细介绍&#xff1a; 一、主要用途 pg_waldump主要用于调试或教育目…...

K8s 常用资源介绍

在 Kubernetes 中&#xff0c;资源指的是可以在集群中管理的对象&#xff08;Objects&#xff09;。这些资源用来定义和控制应用、服务、以及集群的状态。以下是 Kubernetes 中常见的资源及其用途介绍&#xff1a; 1. 工作负载资源&#xff08;Workloads Resources&#xff09;…...

基于 Python 大数据的拼团购物数据分析系统的设计与实现

标题:基于 Python 大数据的拼团购物数据分析系统的设计与实现 内容:1.摘要 本文设计并实现了一个基于 Python 大数据的拼团购物数据分析系统。通过对拼团购物数据的收集、清洗和分析&#xff0c;系统能够为商家提供用户行为分析、商品销售情况分析等功能&#xff0c;帮助商家更…...

finalshell密码解密

finalshell密码解密 在线网站运行java https://c.runoob.com/compile/10/ import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; import java.math.BigInteger; import java.security.MessageDigest; import java.security.N…...

利用Java爬虫速卖通按关键字搜索AliExpress商品

在这个信息爆炸的时代&#xff0c;数据的价值日益凸显。对于电商领域的从业者来说&#xff0c;能够快速获取商品信息成为了一项重要的技能。速卖通&#xff08;AliExpress&#xff09;作为全球领先的跨境电商平台&#xff0c;拥有海量的商品数据。本文将介绍如何使用Java语言编…...

每天40分玩转Django:Django缓存

一、Django缓存概述 在高并发的Web应用中,缓存是提高性能的重要手段。通过缓存频繁访问的数据,可以显著减少数据库查询和渲染模板的时间,从而加快响应速度,提升用户体验。Django提供了多层级的缓存方案,可以灵活地满足不同场景下的缓存需求。 Django支持的缓存方式包括: 视图…...

matrix-breakout-2-morpheus

将这一关的镜像导入虚拟机&#xff0c;出现以下页面表示导入成功 以root身份打开kali终端&#xff0c;输入以下命令&#xff0c;查看靶机ip arp-scan -l 根据得到的靶机ip&#xff0c;浏览器访问进入环境 我们从当前页面没有得到有用的信息&#xff0c;尝试扫描后台 发现有一个…...

第七节:GLM-4v-9b模型的视觉模型源码解读

文章目录 前言一、EVA2CLIPModel视觉编码模块结构二、PatchEmbedding图像分块源码解读三、GLM的transformer结构源码解读四、GLU映射方法源码解读前言 清华智普的GLM-4v-9b模型,作为优化的多模态大模型,特别适用于国内应用场景,解决了国外模型本地化不足的问题。本专栏提供…...

@RestControllerAdvice和@ControllerAdvice的区别

RestControllerAdvice 和 ControllerAdvice 都是 Spring 框架中的注解&#xff0c;用于定义全局的异常处理、数据绑定、模型属性共享等功能。它们的区别主要体现在返回值的处理和适用的场景。 1. ControllerAdvice 功能&#xff1a; ControllerAdvice 是 Spring MVC 提供的全局…...

c++ 类似与c# 线程 AutoResetEvent 和 ManualResetEvent的实现

在 C 中&#xff0c;没有直接类似于 C# 的 AutoResetEvent 和 ManualResetEvent 的类&#xff0c;但可以通过一些线程同步机制来实现类似的功能。C 提供了一些线程同步原语&#xff0c;如 std::condition_variable 和 std::mutex&#xff0c;这些可以用来模拟类似于 C# 中 Auto…...

简单贪吃蛇小游戏的设计与实现

文章目录 1、知识预备1.1 WIN32 API1.1.1 什么是WIN32 API1.1.2 了解部分WIN32 API1.1.2.1 控制台坐标1.1.2.2 控制台光标1.1.2.3 获取键盘按键情况 2.1 宽字符2.1.1 C语言的国际化2.1.2 宽字符的打印 2、 贪吃蛇游戏设计2.1 游戏开始2.2 游戏运行2.2.1 更新分数2.2.2 按键检测…...

动态规划<五> 子数组问题(含对应LeetcodeOJ题)

目录 引例 经典LeetcodeOJ题 1.第一题 2.第二题 3.第三题 4.第四题 5.第五题 6.第六题 7.第七题 引例 OJ传送门 Leetcode<53> 最大子数组和 画图分析: 使用动态规划解决 1.状态表示 dp[i]表示以i位置为结尾的所有子数组中的最大和 2.状态转移方程 子数组的问题可以…...

计算机网络——期末复习(4)协议或技术汇总、思维导图

思维导图 协议与技术 物理层通信协议&#xff1a;曼彻斯特编码链路层通信协议&#xff1a;CSMA/CD &#xff08;1&#xff09;停止-等待协议&#xff08;属于自动请求重传ARQ协议&#xff09;&#xff1a;确认、否认、重传、超时重传、 &#xff08;2&#xff09;回退N帧协…...

在 RK3568 Linux 系统上使用 TUN 设备:详细教程

RK3568 是一个基于 ARM 架构的处理器,广泛应用于嵌入式系统和物联网设备。Linux 系统上的 TUN(网络隧道)设备提供了一个虚拟的网络接口,允许用户空间程序通过内核与网络栈进行交互。本文将详细介绍如何在 RK3568 上配置和使用 TUN 设备,适用于搭建 VPN 或容器网络等应用场…...

记录一次前端绘画海报的过程及遇到的几个问题

先看效果 使用工具 html2canvas import html2canvas from html2canvas// 绘画前的内容 我就不过多写了<div class"content" ref"contentRef" v-show"!imgShow"><img :src"getReplaceImg(friendObj.coverUrl)" alt"&qu…...

费舍尔信息矩阵全面讲述

费舍尔信息矩阵&#xff08;Fisher Information Matrix&#xff09; 费舍尔信息矩阵是统计学中一个非常重要的概念&#xff0c;尤其在参数估计、最大似然估计&#xff08;MLE&#xff09;和贝叶斯推断中具有广泛的应用。它反映了参数估计的不确定性程度&#xff0c;也可以用来…...

【CSS in Depth 2 精译_094】16.2:CSS 变换在动效中的应用(下)——导航菜单的文本标签“飞入”特效与交错渲染效果的实现

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第五部分 添加动效 ✔️【第 16 章 变换】 ✔️ 16.1 旋转、平移、缩放与倾斜 16.1.1 变换原点的更改16.1.2 多重变换的设置16.1.3 单个变换属性的设置 16.2 变换在动效中的应用 16.2.1 放大图标&am…...

webpack3 webpack4 webpack5 有什么区别

性能优化 Webpack 3 性能优化主要依赖开发者手动配置各种插件。例如&#xff0c;在代码分割方面&#xff0c;需要通过CommonsChunkPlugin来实现公共模块的提取&#xff0c;其配置相对复杂。如果配置不当&#xff0c;可能会导致模块重复打包等问题&#xff0c;影响构建效率和最终…...

vue2 升级为 vite 打包

VUE2 中使用 Webpack 打包、开发&#xff0c;每次打包时间太久&#xff0c;尤其是在开发的过程中&#xff0c;本文记录一下 VUE2 升级Vite 步骤。 安装 Vue2 Vite 依赖 dev 依赖 vitejs/plugin-vue2": "^2.3.3 vitejs/plugin-vue2-jsx": "^1.1.1 vite&…...

[创业之路-206]:《华为战略管理法-DSTE实战体系》- 6-关键成功因素法CSF

目录 一、概述 1、定义与起源 2、关键成功因素的定义 3、关键成功因素的来源 4、关键成功因素的确认方法 5、关键成功因素法的步骤 6、关键成功因素法的应用 7、关键成功因素法的优势与局限性 二、 关键成功因素法CSF的应用 1、企业战略管理 2、项目管理 3、绩效管…...

WebRTC服务质量(08)- 重传机制(05) RTX机制

WebRTC服务质量&#xff08;01&#xff09;- Qos概述 WebRTC服务质量&#xff08;02&#xff09;- RTP协议 WebRTC服务质量&#xff08;03&#xff09;- RTCP协议 WebRTC服务质量&#xff08;04&#xff09;- 重传机制&#xff08;01) RTX NACK概述 WebRTC服务质量&#xff08;…...

Go的select的运行原理

Go语言中的select语句是一种专门用于处理多个通道&#xff08;channel&#xff09;操作的控制结构。其运行原理可以概括为以下几点&#xff1a; 1. 监听多个通道 select语句能够同时监听多个通道上的操作&#xff0c;这些操作可以是发送操作或接收操作。每个通道操作都对应se…...

操作002:HelloWorld

文章目录 操作002&#xff1a;HelloWorld一、目标二、具体操作1、创建Java工程①消息发送端&#xff08;生产者&#xff09;②消息接收端&#xff08;消费者&#xff09;③添加依赖 2、发送消息①Java代码②查看效果 3、接收消息①Java代码②控制台打印③查看后台管理界面 操作…...

3D坐标下,一点在某一线段上的左右方向的判定

3D坐标下&#xff0c;一点在某一线段上的左右方向的判定 代码 代码 #include <iostream> #include <Eigen/Dense>#define M_PI 3.1415926// 计算三点组成平面的参数和变换到XOY平面的变换矩阵 void computePlaneAndTransform(const Eigen::Vector3d& P1, cons…...

Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码 【AI辅助开发系列】

&#x1f380;&#x1f380;&#x1f380;【AI辅助编程系列】&#x1f380;&#x1f380;&#x1f380; Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码Visual Studio 安装和管理 GitHub CopilotVisual Studio 使用 GitHub Copilot 扩展Visual Studio 使用 GitHu…...

Linux高级--2.4.5 靠协议头保证传输的 MAC/IP/TCP/UDP---协议帧格式

任何网络协议&#xff0c;都必须要用包头里面设置写特殊字段来标识自己&#xff0c;传输越复杂&#xff0c;越稳定&#xff0c;越高性能的协议&#xff0c;包头越复杂。我们理解这些包头中每个字段的作用要站在它们解决什么问题的角度来理解。因为没人愿意让包头那么复杂。 本…...

【UE5 C++课程系列笔记】14——GameInstanceSubsystem与动态多播的简单结合使用

效果 通过在关卡蓝图中触发GameInstanceSubsystem包含的委托&#xff0c;来触发所有绑定到这个委托的事件&#xff0c;从而实现跨蓝图通信。 步骤 1. 新建一个C类 这里命名为“SubsystemAndDelegate” 引入GameInstanceSubsystem.h&#xff0c;让“SubsystemAndDelegate”继承…...

PyQt实战——随机涂格子的特色进度条(十一)

系类往期文章&#xff1a; PyQt5实战——多脚本集合包&#xff0c;前言与环境配置&#xff08;一&#xff09; PyQt5实战——多脚本集合包&#xff0c;UI以及工程布局&#xff08;二&#xff09; PyQt5实战——多脚本集合包&#xff0c;程序入口QMainWindow&#xff08;三&…...

.NET 8.0 项目升级到 .NET 9.0

本文项目从.NETCore3.1开始一直延续到目前&#xff0c;如果您没有升级过&#xff0c;请参考以下文章&#xff1a; .Net Core 2.2 升级到 .Net Core 3.1&#xff1a;https://blog.csdn.net/hefeng_aspnet/article/details/131259537 NetCore3.1或Net6.0项目升级到Net7.0&#x…...

用Python写炸金花游戏

文章目录 **代码分解与讲解**1. **扑克牌的生成与洗牌**2. **给玩家发牌**3. **打印玩家的手牌**4. **定义牌的优先级**5. **判断牌型**6. **确定牌型优先级**7. **比较两手牌的大小**8. **打印结果** 完整代码 以下游戏规则&#xff1a; 那么我们要实现的功能&#xff0c;就是…...

深度学习中的并行策略概述:2 Data Parallelism

深度学习中的并行策略概述&#xff1a;2 Data Parallelism 数据并行&#xff08;Data Parallelism&#xff09;的核心在于将模型的数据处理过程并行化。具体来说&#xff0c;面对大规模数据批次时&#xff0c;将其拆分为较小的子批次&#xff0c;并在多个计算设备上同时进行处…...

电商平台能挡住恶意网络爬虫的攻击吗?

爬虫盗取电商数据的步骤 爬虫技术作为一种数据获取工具&#xff0c;正逐渐成为电商平台的一大隐患。网络爬虫不仅能够获取商家关键信息并滋生仿冒网站&#xff0c;还能收集用户敏感信息&#xff0c;对用户的财产安全和隐私造成严重威胁。同时&#xff0c;爬虫攻击还会扰乱正常…...

Jenkins安装方法二

配置环境 和 Jenkins 官方的 yum 源之后进行安装 # 关闭防火墙 $ sudo systemctl stop firewalld $ sudo systemctl disable firewalld# 安装 EPEL 源 $ sudo yum install -y epel-release # 安装 wget $ sudo yum install -y wget# 配置 Jenkins 官方 yum 源 $ sudo wget -O /…...

Nginx性能优化全方案:打造一个高效服务器

提到前面&#xff1a;一个热衷技术&#xff0c;反对八股的资深研发&#xff0c;不卖课不引流&#xff0c;专注分享高质量教学博客。 如果觉得文章还不错的话&#xff0c;可以点赞收藏关注 支持一下&#xff0c;持续分享高质量技术博客。 如果有什么需要改进的地方还请大佬指出❌…...

【每日学点鸿蒙知识】沙箱目录、图片压缩、characteristicsArray、gm-crypto 国密加解密、通知权限

1、HarmonyOS 如何创建应用沙箱目录&#xff1f; 下载文件&#xff0c;想下载到自己新建的应用沙箱目录&#xff0c;有什么方法实现吗&#xff1f; fs.mkdir可以创建目录 参考文档&#xff1a;https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis…...

XMLHttpRequest的基础知识

get请求 const xml new XMLHttpRequest(); xml.open("GET", "https://jsonplaceholder.typicode.com/todos/1", true); xml.onreadystatechange function () {if (xml.readyState 4 && xml.status 200) {console.log(xml.responseText);} }…...

学习笔记(C#基础书籍)-- C#基础篇

&#xff08;12.24&#xff09; C#介绍&#xff1a;《第一章》 特点&#xff1a;语法简洁&#xff0c;面向对象&#xff0c;支持绝大部分的web标准&#xff0c;强大的安全机制&#xff08;垃圾回收器&#xff09;&#xff0c;兼容性好&#xff08;遵循.NET的公共语言规范【CL…...

现在有什么赛道可以干到退休?

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;点击跳转到网站 &#xff0c;对人工智能感兴趣的小伙伴可以点进去看看。 最近&#xff0c;一则“90后无论男女都得65岁以后退休”的消息在多个网…...

【VScode】第三方GPT编程工具-CodeMoss安装教程

一、CodeMoss是什么&#xff1f; CodeMoss是一款集编程、学习和办公于一体的高效工具。它兼容多种主流平台&#xff0c;包括VSCode、IDER、Chrome插件、Web和APP等&#xff0c;支持插件安装&#xff0c;尤其在VSCode和IDER上的表现尤为出色。无论你是编程新手还是资深开发者&a…...