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

Web安全基础:深度解析与实战指南

一、Web安全体系架构的全面剖析

1.1 分层防御模型(Defense in Depth)

1.1.1 网络层防护
  • ​防火墙技术​​:
    • 状态检测防火墙(SPI):基于连接状态跟踪,阻断非法会话(如SYN Flood攻击)
    • 下一代防火墙(NGFW):集成IPS、AV、URL过滤(如Palo Alto PA-5400系列)
    • 配置示例:
       
       

      # iptables规则示例:限制SSH访问源IP
      iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
      iptables -A INPUT -p tcp --dport 22 -j DROP

1.1.2 主机安全加固
  • ​Linux安全基线​​:

    • 禁用root远程登录:修改/etc/ssh/sshd_configPermitRootLogin no
    • 文件权限控制:chmod 600 /etc/shadow
    • SELinux强制模式:setenforce 1
  • ​Windows安全加固​​:

    • 关闭SMBv1协议:Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 0
    • 启用BitLocker全盘加密
1.1.3 应用层防护
  • ​输入验证框架​​:
    • Java:Hibernate Validator(JSR 380规范)
       
       

      @NotNull
      @Size(min=8, max=20)
      private String username;

    • Python:Pydantic数据模型验证
       
       

      from pydantic import BaseModel, constr
      class User(BaseModel):
      password: constr(min_length=12, regex="^(?=.*[A-Z])(?=.*\d).*$")

1.2 安全开发全生命周期(SDLC)

1.2.1 需求分析阶段
  • ​威胁建模(STRIDE模型)​​:
    威胁类型示例缓解措施
    伪装(Spoofing)用户身份伪造MFA多因素认证
    篡改(Tampering)参数注入攻击数字签名验证
1.2.2 设计阶段
  • ​安全架构设计​​:
    • 零信任架构(Zero Trust):
       
       

      graph LR
      A[用户设备] -->|持续验证| B(策略引擎)
      B --> C{资源访问}
      C -->|授权通过| D[数据加密通道]

      持续验证

      授权通过

      用户设备

      策略引擎

      资源访问

      数据加密通道

    • 微服务安全:OAuth2.0+JWT令牌传递
1.2.3 编码阶段
  • ​安全编码规范​​:
    • 防止时间侧信道攻击:
       
       

      # 不安全的比较方式
      if password == stored_hash:
      return True

      # 安全比较(恒定时间)
      import hmac
      hmac.compare_digest(password, stored_hash)

    • 内存安

相关文章:

Web安全基础:深度解析与实战指南

一、Web安全体系架构的全面剖析 1.1 分层防御模型(Defense in Depth) 1.1.1 网络层防护 ​​防火墙技术​​: 状态检测防火墙(SPI):基于连接状态跟踪,阻断非法会话(如SYN Flood攻击)下一代防火墙(NGFW):集成IPS、AV、URL过滤(如Palo Alto PA-5400系列)配置示例…...

Uniapp开发鸿蒙应用时如何运行和调试项目

经过前几天的分享,大家应该应该对uniapp开发鸿蒙应用的开发语法有了一定的了解,可以进行一些简单的应用开发,今天分享一下在使用uniapp开发鸿蒙应用时怎么运行到鸿蒙设备,并且在开发中怎么调试程序。 运行 Uniapp项目支持运行到…...

Python海龟绘图(Turtle Graphics)核心函数和关键要点

以下是Python海龟绘图(Turtle Graphics)的核心函数和关键要点整理: 一、画布设置 函数/方法说明参数说明备注turtle.setup(width, height, x, y)设置画布尺寸和位置width宽度,height高度,x/y窗口左上角坐标默认尺寸80…...

如何在Cursor中高效使用MCP协议

1、Cursor介绍 Cursor是一个功能强大的开发工具,内置了聊天助手、代码自动补全和调试工具,能够与多种外部工具和服务(如数据库、文件系统、浏览器等)进行深度集成。借助MCP(Multiverse Communication Protocol&#x…...

典籍知识问答模块AI问答bug修改

一、修改流式数据处理问题 1.问题描述&#xff1a;由于传来的数据形式如下&#xff1a; event:START data:350 data:< data:t data:h data:i data:n data:k data:> data: data: data: data: data:嗯 data:&#xff0c; 导致需要修改获取正常的当前信息id并更…...

Redis 发布订阅模式深度解析:原理、应用与实践

在现代分布式系统架构中&#xff0c;实时消息传递机制扮演着至关重要的角色。Redis 作为一款高性能的内存数据库&#xff0c;其内置的发布订阅(Pub/Sub)功能提供了一种轻量级、高效的消息通信方案。本文将全面剖析 Redis 发布订阅模式&#xff0c;从其基本概念、工作原理到实际…...

通义千问-langchain使用构建(三)

目录 序言docker 部署xinference1WSL环境docker安装2拉取镜像运行容器3使用的界面 本地跑chatchat1rag踩坑2使用的界面2.1配置个前置条件然后对话2.2rag对话 结论 序言 在前两天的基础上&#xff0c;将xinference调整为wsl环境&#xff0c;docker部署。 然后langchain chatcha…...

c++ 仿函数

示例代码&#xff1a; void testFunctor() {using Sum struct MyStruct {int operator() (int a, int b) const { // 重载&#xff08;&#xff09;运算符return a b;}};Sum sum;std::cout << sum(9528, -1) << std::endl; } 打印&#xff1a; 仿函数意思是&am…...

hyper-v 虚拟机怎么克隆一台一样的虚拟机?

环境&#xff1a; hyper-v Win10专业版 问题描述&#xff1a; hyper-v 虚拟机怎么克隆一台一样的虚拟机&#xff1f; 解决方案&#xff1a; 以下是在 Hyper-V 中克隆虚拟机的几种方法&#xff1a; 方法一&#xff1a;使用导出和导入功能 导出虚拟机&#xff1a; 打开 H…...

操作系统:os概述

操作系统&#xff1a;OS概述 程序、进程与线程无极二级目录三级目录 程序、进程与线程 指令执行需要那些条件&#xff1f;CPU内存 需要数据和 无极 二级目录 三级目录...

【技巧】GoogleChrome浏览器开发者模式查看dify接口

回到目录 GoogleChrome浏览器开发者模式查看dify接口 1.搭建本地dify开发环境 参考 《 win10的wsl环境下调试dify的api后端服务(20250511发布)》 2.打开dify首页&#xff0c;进入开发者模式&#xff0c;Network页 勾选 Preserve log [图1] 3.填好用户名和密码&#xff0c;…...

Ocean: Object-aware Anchor-free Tracking

领域&#xff1a;Object tracking It aims to infer the location of an arbitrary target in a video sequence, given only its location in the first frame 问题/现象&#xff1a; Anchor-based Siamese trackers have achieved remarkable advancements in accuracy, yet…...

java中的循环结构

文章目录 流程控制顺序结构if单选择结构if双选择结构if多选择结构嵌套的if结构switch多选择结构 循环结构while循环do...while循环 for循环增强for循环 break continue练习案例 流程控制 顺序结构 java的基本结果就是顺序结构&#xff0c;除非特别指明&#xff0c;否则就按照…...

数学复习笔记 16

前言 例题真是经典。 background music 《青春不一样》 2.28 算一个行列式&#xff0c;算出来行列式不等于零&#xff0c;这表示矩阵式可逆的。但是这个算的秩是复合的&#xff0c;感觉没啥好办法了&#xff0c;我直接硬算了&#xff0c;之后再看解析积累好的方法。算矩阵…...

PySide6 GUI 学习笔记——常用类及控件使用方法(常用类颜色QColor)

文章目录 一、概述二、核心功能三、常用函数及方法四、代码示例五、注意事项 一、概述 QColor 是用于处理颜色的类&#xff0c;支持 RGB、HSV、HSL、CMYK 等多种颜色模型&#xff0c;提供颜色创建、转换、分量操作及格式转换功能。支持透明度设置&#xff0c;可通过颜色名称或…...

【Closure-Hayd】

RNA序列本身存在结构上的物理信息&#xff0c;因此可以利用文献提供的相关方法来对RNA序列的物理特征进行更加细致的提取。 几何向量编码&#xff08;GVP模块&#xff09;​借鉴Rhodesign模型中的GVP&#xff08;Geometric Vector Perceptron&#xff09;模块&#xff0c;将每个…...

MySQL高可用架构

一、读写分离在高可用架构中的核心作用 1.读写分离与高可用的协同价值 在MySQL高可用架构中&#xff0c;读写分离不仅是性能优化的手段&#xff0c;更是提升系统容错能力的关键策略。通过将写操作&#xff08;INSERT、UPDATE、DELETE&#xff09; 集中到主节点&#xff0c;读…...

粒子群算法(PSO算法)

粒子群算法概述 1.粒子群优化算法&#xff08;Particle Swarm Optimization&#xff0c;简称PSO&#xff09;。粒子群优化算法是在1995年由Kennedy博士和Eberhart博士一起提出的&#xff0c;它源于对鸟群捕食行为的研究。 2.基本核心是利用群体中的个体对信息的共享从而使得整…...

信道编码技术介绍

信息与通信系统中的编码有4 种形式&#xff1a;信源编码、信道编码、密码编码和多址编码。 其中信道编码的作用是对信源经过压缩后的数据加一定数量受到控制的冗余&#xff0c;使得数据在传输中或接收中发生的差错可以被纠正或被发现&#xff0c;从而可以正确恢复出原始数据信息…...

JavaScript【4】数组和其他内置对象(API)

1.数组: 1.概述: js中数组可理解为一个存储数据的容器,但与java中的数组不太一样;js中的数组更像java中的集合,因为此集合在创建的时候,不需要定义数组长度,它可以实现动态扩容;js中的数组存储元素时,可以存储任意类型的元素,而java中的数组一旦创建后,就只能存储定义类型的元…...

【背包dp-----分组背包】------(标准的分组背包【可以不装满的 最大价值】)

通天之分组背包 题目链接 题目描述 自 01 01 01 背包问世之后&#xff0c;小 A 对此深感兴趣。一天&#xff0c;小 A 去远游&#xff0c;却发现他的背包不同于 01 01 01 背包&#xff0c;他的物品大致可分为 k k k 组&#xff0c;每组中的物品相互冲突&#xff0c;现在&a…...

docker-compose——安装mongo

编写docker-compose.yml version : 3.8services:zaomeng-mongodb:container_name: zaomeng-mongodbimage: mongo:latestrestart: alwaysports:- 27017:27017environment:- MONGO_INITDB_ROOT_USERNAMEroot- MONGO_INITDB_ROOT_PASSWORDpssw0rdvolumes:- ./mongodb/data:/data/…...

day 28

类 一个常见的类的定义包括了&#xff1a; 1. 关键字class 2. 类名 3. 语法固定符号冒号(:) 4. 一个初始化函数__init__(self) Pass占位符和缩进 Python 通过缩进来定义代码块的结构。当解释器遇到像 def, class, if, for 这样的语句&#xff0c;并且后面跟着冒号 : 时&…...

JavaScript入门【1】概述

1.JavaScript是什么? <font style"color:rgb(38,38,38);">Javascript &#xff08;简称“JS”&#xff09;是⼀种直译式脚本语⾔&#xff0c;⼀段脚本其实就是⼀系列指令&#xff0c;计算机通过这些指令来达成⽬标。它⼜是⼀种动态类型的编程语⾔。JS⽤来在⽹…...

MySQL 中 JOIN 和子查询的区别与使用场景

目录 一、JOIN:表连接1.1 INNER JOIN:内连接1.2 LEFT JOIN:左连接1.3 RIGHT JOIN:右连接1.4 FULL JOIN:全连接二、子查询:嵌套查询2.1 WHERE 子句中的子查询2.2 FROM 子句中的子查询2.3 SELECT 子句中的子查询三、JOIN 和子查询的区别3.1 功能差异3.2 性能差异3.3 使用场…...

DeepSeek 大模型部署全指南:常见问题、优化策略与实战解决方案

DeepSeek 作为当前最热门的开源大模型之一&#xff0c;其强大的语义理解和生成能力吸引了大量开发者和企业关注。然而在实际部署过程中&#xff0c;无论是本地运行还是云端服务&#xff0c;用户往往会遇到各种技术挑战。本文将全面剖析 DeepSeek 部署中的常见问题&#xff0c;提…...

Python 3.11详细安装步骤(包含安装包)Python 3.11详细图文安装教程

文章目录 前言Python 3.11介绍Python 3.11安装包下载Python 3.11安装步骤 前言 作为当前最热门的编程语言之一&#xff0c;Python 3.11 不仅拥有简洁优雅的语法&#xff0c;还在性能上实现了飞跃&#xff0c;代码运行速度提升显著。无论是初入编程的小白&#xff0c;还是经验丰…...

虚拟主播肖像权保护,数字时代的法律博弈

首席数据官高鹏律师团队 在虚拟主播行业蓬勃发展的表象之下&#xff0c;潜藏着一场关乎法律边界的隐形战争。当一位虚拟偶像的3D模型被非法拆解、面部数据被批量复制&#xff0c;运营方惊讶地发现——传统的肖像权保护体系&#xff0c;竟难以完全覆盖这具由代码与数据构成的“…...

硬件工程师笔记——二极管Multisim电路仿真实验汇总

目录 1 二极管基础知识 1.1 工作原理 1.2 二极管的结构 1.3 PN结的形成 1.4 二极管的工作原理详解 正向偏置 反向偏置 multisim使用说明链接 2 二极管特性实验 2.1 二极管加正向电压 2.2 二极管加反向电压 2.3 二极管两端的电阻 2.4 交流电下二级管工作 2.5 二极…...

学习笔记(C++篇)—— Day 6

1.内部类 如果一个类定义在另一个类的内部&#xff0c;就叫做内部类。 例如下面一个代码示例&#xff1a; class A { private:static int _k;int _h 1; public:class B // B默认就是A的友元{public:void foo(const A& a){cout << _k << endl; //OKcout <&…...

常见的实时通信技术(轮询、sse、websocket、webhooks)

1. HTTP轮询&#xff1a;最老实的办法 刚开始做实时功能时&#xff0c;我第一个想到的就是轮询。特别简单直白&#xff0c;就像你每隔5分钟就刷新一次朋友圈看看有没有新消息一样。 短轮询&#xff1a;勤快但费劲 短轮询就是客户端隔三差五地问服务器&#xff1a;"有新…...

2025年第三届盘古石杯初赛(智能冰箱,监控部分)

前言 所以去哪里可以取到自己家里的智能家居数据呢&#xff1f;&#xff1f;&#xff1f;&#xff1f; IOT物联网取证 1、分析冰箱&#xff0c;请问智能冰箱的品牌&#xff1f; [答案格式&#xff1a;xiaomi] Panasonic2、请问智能冰箱的型号&#xff1f; [答案格式&#x…...

[强化学习的数学原理—赵世钰老师]学习笔记02-贝尔曼方程

本人为强化学习小白&#xff0c;为了在后续科研的过程中能够较好的结合强化学习来做相关研究&#xff0c;特意买了西湖大学赵世钰老师撰写的《强化学习数学原理》中文版这本书&#xff0c;并结合赵老师的讲解视频来学习和更深刻的理解强化学习相关概念&#xff0c;知识和算法技…...

基于STM32的INA226电压电流检测仪

系统总体框图 功率检测装置原理图功能及模块连接说明 一、系统功能概述 该装置以STM32F103C8T6微控制器为核心&#xff0c;集成功率检测、数据交互、状态显示和用户提示功能&#xff0c;通过模块化设计实现稳定运行。 二、各模块功能及连接方式 按键模块 功能&#xff1a…...

Android7 Input(七)App与input系统服务建立连接

概述 本文主要讲述Android 系统创建窗口时与输入管理系统服务通过InputChannel通道建立通信桥梁的过程。 本文涉及的源码路径 frameworks/native/libs/input/InputTransport.cpp frameworks/base/core/java/android/view/InputChannel.java frameworks/base/core/java/andr…...

1.2 C++第一个程序

第一个程序&#xff1a;Hello World 教程 目标 用 cout 输出文字&#xff0c;学会用 endl 换行。理解程序的基本结构&#xff0c;明白 main 函数的作用。 一、程序是什么&#xff1f;——像“魔法食谱” 比喻&#xff1a;写程序就像写一份做蛋糕的食谱&#xff01; 食材&am…...

Hi3516DV500刷写固件

hi3516DV500刷固件 1、硬件连接 2、软件准备 3、刷固件步骤 一、硬件连接 特别注意的是&#xff0c;串口的接线顺序 通过网线连接好笔记本和开发板后&#xff0c;需要确认一下网口水晶头是否闪烁&#xff0c;以确认网络物理是否连通 二、软件资源准备 固件包准备 打开工具…...

完整卸载 Fabric Manager 的方法

目录 ✅ 完整卸载 Fabric Manager 的方法 1️⃣ 停止并禁用服务 2️⃣ 卸载 Fabric Manager 软件包 3️⃣ 自动清理无用依赖&#xff08;可选&#xff09; 4️⃣ 检查是否卸载成功 ✅ 补充&#xff08;仅清除服务&#xff0c;不删包&#xff09; ✅ 完整卸载 Fabric Mana…...

linux标准库头文件解析

linuxc标准库 C 标准库&#xff08;C Standard Library&#xff09;包含了一组头文件&#xff0c;这些头文件提供了许多函数和宏&#xff0c;用于处理输入输出、字符串操作、数学计算、内存管理等常见编程任务。。 头文件功能简介<stdio.h>标准输入输出库&#xff0c;包含…...

PLC和变频器之间如何接线

这篇文章想梳理一下&#xff0c;不同电平输出的PLC应该如何去接不同品牌的变频器 对于PLC的IO来讲&#xff0c;有高低电平输入的不同&#xff0c;有高低电平输出的区别 对于变频器的DI或DO来讲&#xff0c;不同的品牌内部线路和原理也有区别 我们场地现在用的是西门子1200的…...

【Spring】Spring的请求处理

欢迎来到啾啾的博客&#x1f431;。 记录学习点滴。分享工作思考和实用技巧&#xff0c;偶尔也分享一些杂谈&#x1f4ac;。 欢迎评论交流&#xff0c;感谢您的阅读&#x1f604;。 目录 引言HTTP/HTTPS协议Spring Web与Spring Web MVCSpring WebFlux 自定义的TPC/IP协议FTP、S…...

现代健康生活养生指南

现代社会中&#xff0c;熬夜加班、久坐不动、饮食不规律成为许多人的生活常态&#xff0c;由此引发的健康问题也日益增多。想要摆脱亚健康&#xff0c;不必依赖中医理念&#xff0c;从以下这些现代科学养生方法入手&#xff0c;就能逐步改善身体状况。​ 饮食上&#xff0c;注…...

使用tensorRT10部署低光照补偿模型

1.低光照补偿模型的简单介绍 作者介绍一种Zero-Reference Deep Curve Estimation (Zero-DCE)的方法用于在没有参考图像的情况下增强低光照图像的效果。 具体来说&#xff0c;它将低光照图像增强问题转化为通过深度网络进行图像特定曲线估计的任务。训练了一个轻量级的深度网络…...

题单:表达式求值1

题目描述 给定一个只包含 “加法” 和 “乘法” 的算术表达式&#xff0c;请你编程计算表达式的值。 输入格式 输入仅有一行&#xff0c;为需要计算的表达式&#xff0c;表达式中只包含数字、加法运算符 和乘法运算符 *&#xff0c;且没有括号。 所有参与运算的数字不超过…...

【ant design】ant-design-vue 4.0实现主题色切换

官网&#xff1a;Ant Design Vue — An enterprise-class UI components based on Ant Design and Vue.js 我图方便&#xff0c;直接在 app.vue 中加入的 <div class"app-content" v-bind:class"appOption.appContentClass"><a-config-provider…...

MinIO深度解析:从入门到实战——对象存储系统全指南

在当今数字化时代&#xff0c;数据存储至关重要。MinIO作为一款高性能的对象存储系统&#xff0c;正逐渐受到广泛关注。它与云原生存储系统相媲美&#xff0c;并且其API与Amazon S3完全兼容。本文将带您快速了解MinIO&#xff0c;并探讨其在实际中的应用场景。 一、关于MinIO …...

(8)python开发经验

文章目录 1 下载python2 pip安装依赖无法访问3 系统支持4 下载python文档5 设置虚拟环境6 编译安装python 更多精彩内容&#x1f449;内容导航 &#x1f448;&#x1f449;Qt开发 &#x1f448;&#x1f449;python开发 &#x1f448; 1 下载python 下载地址尽量不要下载最新版…...

uniapp自动构建pages.json的vite插件

对于 uniapp 来说&#xff0c;配置 pages.json 无疑是最繁琐的事情&#xff0c;具有以下缺点&#xff1a; 冗长&#xff0c;页面很多时 pages 内容会很长难找&#xff0c;有时候因为内容很长&#xff0c;导致页面配置比较难找&#xff0c;而且看起来比较凌乱json弊端&#xff…...

【MySQL进阶】如何在ubuntu下安装MySQL数据库

前言 &#x1f31f;&#x1f31f;本期讲解关于如何在ubuntu环境下安装mysql的详细介绍~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 &#x1f3…...

解放双手的全自动抠图工具

软件介绍 本文要介绍的这款软件是Teorex PhotoScissors&#xff0c;是一款全自动抠图软件。 第二段&#xff1a;软件便捷性 这款来自国外的软件堪称神器&#xff0c;目前已解锁可无限使用。使用起来特别方便&#xff0c;无需安装&#xff0c;打开即可直接操作&#xff0c;并…...