防火墙内容安全笔记

目录

DFI和DPI

IDS和IPS

签名

AV

URL过滤

HTTPS过滤

内容过滤

文件类型过滤

文件内容过滤

邮件过滤

VPN概述

密码学概述

对称加密

非对称加密


DFI和DPI

DFI和DPI技术 --- 深度检测技术

DPI

DPI --- 深度包检测技术 --- 主要针对完整的数据包(数据包分片,分段需要重组),之后对数据包的内容进行识别。(应用层) 

1,基于“特征字”的检测技术 --- 最常用的识别手段,基于一些协议的字段来识别特征,例如HTTP头部字段 

2,基于应用网关的检测技术 --- 有些应用控制和数据传输是分离的,比如一些视频流。一开始需要TCP建立连接,协商参数,这一部分我们称为信令部分。之后,正式传输数据后,可能就通过UDP协议来传输,流量缺失可以识别的特征。所以,该技术就是基于前面信令部分的信息进行识别和控制。

3,基于行为模式的检测技术 --- 比如我们需要拦截一些垃圾邮件,但是,从特征字中很难区分垃圾邮件和正常邮件,所以,我们可以基于行为来进行判断。比如,垃圾邮件可能存在高频,群发等特性,如果出现,我们可以将其认定为垃圾邮件,进行拦截,对IP进行封锁。

DFI

DFI --- 深度流检测技术 --- 一种基于流量行为的应用识别技术。这种方法比较适合判断P2P流量。

结论:

1,DFI仅对流量进行分析,所以,只能对应用类型进行笼统的分类,无法识别出具体的应用;DPI进行检测会更加精细和精准;

2,如果数据包进行加密传输,则采用DPI方式将不能识别具体的应用,除非有解密 手段;但是,加密并不会影响数据流本身的特征,所以,DFI的方式不受影响。 

IDS和IPS

IDS --- 侧重于风险管理的设备

IPS --- 侧重于风险控制的设备

区别:

IDS更像是网络摄像头,能够实时监视网络流量,又分为NIDS和HIDS,NIDS主要是监视网络层流量,HIDS主要监视应用层

IPS:

1,实时的阻断攻击;

2,深层防护 --- 深入到应用层;

3,全方位的防护 --- IPS可以针对各种常见威胁做出及时的防御,提供全方位的防护;

4,内外兼防 --- 只要是通过设备的流量均可以进行检测,可以防止发自于内部的攻击。

5,不断升级,精准防护

签名

签名 --- 针对网络上的入侵行为特征的描述,将这些特征通过HASH后和我们报文进行比对。

签名分为预定义签名自定义签名

预定义签名 --- 设备上自带的特征库,这个需要我们激活对应的License(许可证)后才能获取。 --- 这个预定义签名库激活后,设备可以通过连接华为的安全中心进行升级

自定义签名 --- 自己定义威胁特征

AV

AV  (anti-virus) --- 反病毒设备

传统的防病毒的方式是通过将文件缓存之后,再进行特征库的比对,完成检测。但是,因为需要缓存文件,则将占用设备资源并且,造成转发延迟,一些大文件可能无法缓存,所以,直接放过可能造成安全风险。

代理扫描 --- 文件需要全部缓存 --- 可以完成更多的如解压,脱壳之类的高级操作,并且,检测率高,但是,效率较低,占用资源较大。

流扫描 --- 基于文件片段进行扫描 --- 效率较高,但是这种方法检测率有限。

防病毒处理流量

1,进行应用和协议的识别

2,判断这个协议是否支持防病毒的检测,如果不是支持的防病毒协议,则文件将直接通过。 

3,之后,需要进行白名单的比对。如果命中白名单,则将不进行防病毒检测,可以同时进行其他模块的检测。

4,如果没有命中白名单,则将进行特征库的比对。如果比对上了,则需要进行后续处理。 如果没有比对上,则可以直接放行。 

5,如果需要进行后续处理,首先进行“病毒例外“的检测。 --- 这个病毒例外,相当于是病毒的一个白名单,如果是添加在病毒例外当中的病毒,比对上之后,将直接放通。 ---- 过渡防护

6,之后,进行应用例外的比对。 --- 类似于IPS模块中的例外签名。针对例外的应用执行和整体配置不同的动作。

7,如果没有匹配上前面两种例外,则将执行整体配置的动作。

URL过滤

URL过滤的方法

黑白名单 --- 如果匹配白名单,则允许该URL请求;如果匹配黑名单,则将拒绝URL请求 (白名单的优先级高于黑名单)。

预定义的URL分类

        本地缓存查询

        远程分类服务查询 --- 如果进行了远程的查询,则会将查询结果记录在本地的缓存中,方便后          续的查询。 --- 需要购买license才能被激活。

自定义的URL分类 --- 自定义的优先级高于预定义的优先级的

如果远程分类服务查询也没有对应分类,则将其归类为“其他”,则按照其他的处理逻辑执行。

HTTPS过滤

第一种:配置SSL解密功能

这种方法需要提前配置SSL的解密策略,如果想要解密就必须得到客户端和服务端之间的协商密钥,要得到密钥就需要防火墙在中间充当中间人,例如TCP三次握手和协商密钥都是防火墙作为中间人,分别充当客户端和服务端转发数据包。所以,性能消耗较大,效率较低。

第二种方法:加密流量进行过滤

这种方法就不需要解密,只是通过HTTP包中的SNI字段判断,但是过滤不精确

Server_name --- 域名信息

HTTP.request --- URL信息(HOST --- 域名信息,URI)

这种方法比较简单,性能更高,但是,这种信息仅能过滤到域名级别,不够精确。

内容过滤

文件类型过滤

这里说的文件过滤技术,是指针对文件的类型进行的过滤,而不是文件的内容。

想要实现这个效果,我们的设备必须识别出:

承载文件的应用 --- 承载文件的协议很多,所以需要先识别出协议以及应用。

文件传输的方向 --- 上传,下载

文件的类型和拓展名 --- 设备可以识别出文件的真实类型,但是,如果文件的真实类型无法识别,则将基于后缀的拓展名来进行判断,主要为了减少一些绕过检测的伪装行为。

 

文件内容过滤

文件内容的过滤 --- 比如我们上传下载的文件中,包含某些关键字(可以进行精准的匹配,也可以通过正则表达式去实现范围的匹配。)

应用内容的过滤 --- 比如微博或者抖音提交帖子的时候,包括我们搜索某些内容的时候,其事只都是通过HTTP之类的协议中规定的动作来实现的,包括邮件附件名称FTP传递的文件名称,这些都属于应用内容的过滤。

注意:对于一些加密的应用,比如我们HTTPS协议,则在进行内容识别的时候,需要配置SSL代理(中间人解密)才可以识别内容。但是,如果对于一些本身就加密了的文件,则无法进行内容识别。

内容识别的动作包括:告警,阻断,按权重操作:我们可以给每一个关键字设计一个权重值,如果检测到多个关键字的权重值超过预设值,则执行告警或者阻断的动作。

邮件过滤

SMTP --- 简单邮件传输协议,TCP 25,他主要定义了邮件该如何发送到邮件服务器中。

POP3 --- 邮局协议,TCP 110,他定义了邮件该如何从邮件服务器(邮局)中下载下来。

IMAP --- TCP 143,也是定义了邮件 该如何从邮件服务器中获取邮件。

POP3和IMAP的区别:

使用POP3则客户端会将邮件服务器中未读的邮件都下载到本地,之后进行操作。邮件服务器上会将这些邮件删除掉。如果是IMAP,用户可以直接对服务器上的邮件进行操作。而不需要将邮件下载到本地进行操作。

邮件过滤技术 主要是用来过滤垃圾邮件的。

---所谓垃圾邮件,就是收件人事先没有提出要求或者同意接受的广告,电子刊物,各种形式的宣传的邮件。包括,一些携带病毒,木马的钓鱼邮件,也属于垃圾邮件。

过滤方法:

统计法 --- 基于行为的深度检测技术

        贝叶斯算法 --- 一种基于预测的过滤手段

        基于带宽的统计 --- 统计单位时间内,某一个固定IP地址试图建立的连接数,限制单位时间内          单个IP地址发送邮件的数量。

        基于信誉评分 --- 一个邮件服务器如果发送垃圾邮件,则将降低信誉分,如果信誉比较差,则          将其发出的邮件判定为垃圾邮件。

列表法 --- 黑,白名单

        RBL(Real-time Blackhole List) --- 实时黑名单 --- RBL服务器所提供,这里面的内容会实            时根据检测的结果进行更新。我们设备在接收到邮件时,可以找RBL服务器进行查询,如果            发现垃圾邮件,则将进行告知。 --- 这种方法可能存在误报的情况,所以,谨慎选择丢弃动            作。

源头法

        SPF技术 --- 这是一种检测伪造邮件的技术。可以反向查询邮件的域名和IP地址是否对应。如          果对应不上,则将判定为伪造邮件。

意图分析

        通过分析邮件的目的特点,来进行过滤,称为意图分析。(结合内容过滤来进行。)

VPN概述

VPN --- 虚拟专用网 --- 一般指依靠ISP或者其他NSP,也可以是企业自身,提供的一条虚拟网络专线。这个虚拟的专线是逻辑上的,而不是物理上的,所以称为虚拟专用网。

VPN诞生的原因:

1,物理网络不适用,成本太高,并且如果位置不固定,则无法构建物理专线

2,公网安全无法保证

VPN的分类:

根据建设的单位不同分类:

1,企业自建的VPN专线:GRE,IPSEC,SSL VPN,L2TP --- 这种VPN构建成本较低,因为不需要支付专线的费用,仅需要承担购买VPN设备的费用。并且,在网络控制方面,也拥有更多的主动性。

2,直接租用运营商的VPN专线:MPLS VPN。这种方式需要企业支付专线的租用费用,但是,控制,安全以及网速方面的问题都将由运营商来承担。MPLS VPN的优势在于,专线的租用成本低。

根据组网方式不同分类:

1,Client to LAN(ACCESS VPN)

2,LAN to LAN

根据VPN技术实现的层次来进行分类:

 VPN的核心技术 --- 隧道技术  --- 封装技术

VPN通过封装本身就是对数据的一种保护,而工作在不同层次的VPN,其实质就是保护其所在层次即以上的数据。当然,这种保护在没有加密的情况下,并不代表安全。 

VPN其他常用技术:

  • 身份认证技术 --- 身份认证是VPN技术的前提。
  1. GRE VPN --- 本身不支持身份认证的。(GRE里面有个“关键字”机制。类似于ospf的认证,商量一个口令,在GRE中该措施仅是用来区分通道的)
  2. L2TP VPN--- 因为他后面的乘客协议是PPP协议,所以,L2TP可以依赖PPP提供的认证,比如PAP,CHAP。
  3. IPSEC VPN和SSL VPN --- 都支持身份认证
  • 加解密技术 --- 以此来抵抗网络中的一些被动攻击
  1. 注意:加解密技术使用的实质是一个双向函数,即一个可逆的过程。和HASH算法有本质的区别
  2. 加密技术也是安全通道的保障。
  3. GRE VPN和L2TP VPN不支持加解密技术。通常可以结合IPSEC技术来实现加解密。
  4. IPSEC VPN和SSL VPN都是支持加解密技术的。
  • 数据认证技术 --- 验货 --- 保证数据的完整性
  1. HASH --- 计算摘要值,之后,通过比对摘要值来保障完整性。
  2. GRE VPN --- 可以加入校验和。但是,GRE的这种功能是可选的,两边开启之后,才会激活数据认证功能。
  3. L2TP VPN --- 不支持数据认证
  4. IPSEC VPN,SSL VPN都是支持数据认证的

密码学概述

我们可以把加密算法分为古典加密现代加密

古典加密遵从的是算法保密原则,而现代加密是算法公开,密钥保密

古典加密算法最经典的就是凯撒加密,也被称为凯撒密码或凯撒移位密码。

它是一种基于替换的密码算法,通过将字母表中的每个字母向前或向后移动固定数量的位置来加密文本。具体来说,它是一种位移密码,因为它通过将字母替换为字母表中相对应的另一个字母来加密文本

现代加密分为对称加密非对称加密

对称加密

加密和解密的过程中使用的是同一把密钥。所以,对称加密所使用的算法一定是一种双向函数,是可逆的。比如异或运算

而这其中又分为了流加密和分组加密

流加密 --- 主要是基于明文流(数据流)进行加密,在流加密中,我们需要使用的密钥是和明文流相同长度的一串密钥流。

分组加密 --- 也被称为块加密,与流加密不同的是,分组加密会将数据流分为若干组,使用的密钥会略长于一组的长度,例如8位二进制为一组,密钥可以为11位,然后进行异或运算,第一组少的三位用随机数来代替,算出第一组的密文值后,再随机抽取三位数添加到下一组,再进行异或运算。

这样一来,中间人如果想截取内容,就必须把多组的内容全部截获,少一组都得不到原始信息

目前比较常用的对称加密算法 --- DES/3DES,AES(高级加密标准)

对称加密的缺点:

1,密钥共享

        带外传输 --- 不方便

        带内传输 --- 不安全

2,密钥管理 --- N * N

非对称加密

非对称加密算法和对称加密算法的主要区别在于,对称加密算法加解密仅使用同一把密钥,而非对称加密算法,加密和解密使用的是不同的密钥。 --- 两把密钥一把叫做公钥,另一把叫做私钥。 ---- 这两把钥匙,任意一把钥匙都可以进行加密的操作,然后,需要通过另外一把钥匙来进行解密。

对称加密和非对称加密的区别

结论 --- 我们一般采用的做法是,在数据传输的时候,我们会选择使用对称加密算法进行加密,为了保证效率。但是,对称加密算法最主要的问题是密钥传递可能存在安全风险,所以,我们在传递密钥的时候,可以通过非对称加密算法进行加密,保证密钥传递的安全性。实现二者的互补,达到安全传输的目的。

HASH运算

对数据进行完整性校验 --- 我们会针对原始数据进行HASH运算,得到摘要值,之后,发送到对端,也进行相同的运算,比对摘要值。如果摘要值相同,则数据完整;如果不同,则数据不完整。 

HASH算法 --- 散列函数

1,不可逆性

2,相同输入,相同输出。

3,雪崩效应 --- 原始数据中即使存在细微的区别,也会在结果中呈现出比较明显的变化,方便,我们看出数据是否被篡改。

4,等长输出 --- 不管原始数据多长,运算之后的摘要值长度是固定。(MD5可以将任意长度的输入,转换成128位的输出。)

这时候有小伙伴认为我们就可以进行"安全"通信了

Alice先把公钥给到Bob,再把原始信息进行HASH生成摘要值,然后用私钥进行加密生成数字签名,并把原始信息一并发送给Bob

Bob收到信息后先用Alice发送过来的公钥进行解密,解密出的HASH值与原始信息运算出的HASH值进行比对,相同就说明信息传输没有问题,是安全的

 

但是事实真的是这样吗?

现在有一个黑客张三,他在中间截取数据,当Alice发送公钥给Bob时,张三拿到了Alice的公钥,他自己也生成出了一对公私钥,他把Alice的公钥留在他这里,但是把他的公钥给到了Bob,这时候Bob以为是Alice的公钥。

然后在Alice发送数据时,它可以用Alice给的公钥解密数字签名,修改其中原始信息的值,再进行HASH,用自己的私钥去加密这个HASH值,也生成了一个自己的“数字签名”,他将这个数字签名发送给Bob。

而此时Bob并不知情,以为还是Alice发送的数据,于是拿着张三的公钥去解密这个数字签名,发现HASH能对上,顺理成章得以为这是Alice发送的数据

所以上面这种方法不行,还是能被攻破,这时候CA机构出现了

CA可信机构 --- 提供身份信息证明的第三方机构

        通信双方需要完全信任这个第三方机构,之后,让CA为公钥作证。

        因为双方都信任该CA机构,所以,实现拥有这个CA机构的公钥信息。

        CA机构会使用自己的私钥对A的公钥和一些其他信息一起进行加密,生成数字证书。

CA机构自己会有一个公私钥,公钥在每台PC上都会提前录入。

CA机构会将在自己这里申请过的用户的公钥用自己的私钥进行加密,因为每台PC上都有CA机构的公钥,所以任何人都可以解密

在刚刚那个案例中,我们可以引入CA机构来鉴别公钥的真假

Alice可以把CA机构的数字证书一并发给Bob,这时候张三一看完了,我是可以解密CA机构数字证书,但是我要是更改了里面的内容(这里如果不更改内容,Bob解密后发现自己收到的公钥和数字证书里面的公钥不对应就会发现信息被篡改了),怎么加密呢?我又没有CA机构的私钥

这时候这个问题就迎刃而解了

最后我们再加入对称密钥,用非对称密钥来协商此后通信的对称密钥,这样就大大得提高了效率。

这也就是HTTPS的工作原理

1,原始信息HASH算法得到摘要值 ---- 为了做完整性校验。为了保证我们的摘要值在传递的过程中,不会被篡改,所以,需要使用私钥进行加密。形成数字签名。

2,针对原始信息,数字签名,数字证书(是用户提前向CA机构申请,获取到的通过CA机构私钥加密后的证书。里面主要包含了Alice的公钥。主要是做身份认证使用)进行加密。使用的是对称加密算法。对称机密算法需要使用对应的密钥来进行加密。

3,将对称加密算法的密钥通过Bob的公钥进行加密,形成密钥信封。(这里是通过非对称加密算法的方式,来传输对称密钥的。也可以使用DH算法,使双方获得对称密钥。)

4,将加密信息和密钥信封通过公网传递到对端Bob处。

5,Bob首先对密钥信封进行解密。因为这个密钥信封是通过Bob的公钥进行加密的,所以,使用Bob自己的私钥就可以进行解密。解密后,将得到对称密钥。

6,使用对称密钥去解密加密信息。 ---- 原始数据,数字签名,数字证书

7,使用CA机构的公钥来解开数字证书。因为数字证书是由CA机构的私钥进行加密的,并且,Bob本身也信任CA机构,所以,自身设备上是拥有CA机构的公钥的。

8,解开数字证书后将得到Alice的公钥,根据Alice的公钥可以解开数字签名。因为数字签名是由Alice自己的私钥来进行加密的,所以,如果可以顺利的使用ALICE的公钥进行解密,则完成了身份认证和数据源鉴别工作。

9,Bob自身需要对原始信息进行HASH运算,并且,数字签名解开后,里面也包含ALice发送时对原始信息进行HASH运算的摘要值,比对两次摘要值,则可完成完整性校验。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/262342.html

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

相关文章

Rust: reqwest库示例

一、异步处理单任务 1、cargo.toml [dependencies] tokio { version "1.0.0", features ["full", "tracing"] } tokio-util { version "0.7.0", features ["full"] } tokio-stream { version "0.1" }…

C++特殊类设计

一、设计模式的概念 1、设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 2、使用设计模式是为了可重用代码、让代码更容易被他人理解、提高代码的可靠性。 3、设计模式一般有如下几个基本要素:模式名称、问题、目的…

数字信号处理:傅里叶分析

本文主要参考视频如下: 数字信号处理9-1_线性时不变系统对复指数信号的响应_哔哩哔哩_bilibili 傅里叶分析的主要研究内容如下所示: 注意,计算机中使用的离散傅里叶变换并不是离散时间傅里叶变换; 前四种都是理论上的变换方式&…

Elasticsearch:将 IT 智能和业务 KPI 与 AI 连接起来 - 房间里的大象

作者:Fermi Fang 大象寓言的智慧 在信息技术和商业领导力的交叉点,蒙眼人和大象的古老寓言提供了一个富有洞察力的类比。 这个故事起源于印度次大陆,讲述了六个蒙住眼睛的人第一次遇到大象的故事。 每个人触摸大象的不同部位 —— 侧面、象牙…

C 标准库 - <errno.h>

在C语言编程中&#xff0c;<errno.h> 头文件扮演着至关重要的角色&#xff0c;它提供了一个全局变量 errno 以及一系列预定义宏&#xff0c;用于指示系统调用或库函数执行过程中发生的错误。这些宏有助于程序员诊断和处理运行时错误。 errno 变量 extern int errno;err…

RabbitMQ学习整理————基于RabbitMQ实现RPC

基于RabbitMQ实现RPC 前言什么是RPCRabbitMQ如何实现RPCRPC简单示例通过Spring AMQP实现RPC 前言 这边参考了RabbitMQ的官网&#xff0c;想整理一篇关于RabbitMQ实现RPC调用的博客&#xff0c;打算把两种实现RPC调用的都整理一下&#xff0c;一个是使用官方提供的一个Java cli…

Java SpringBoot测试OceanBase

对上篇mysql导入到OceanBase中的数据库进行代码测试&#xff0c;写了个demo包含测试方法&#xff0c;在原mysql库中成功执行&#xff0c;迁移到OceanBase时看是否能不修改业务代码而成功执行测试方法&#xff1a; 代码基于SpringBoot MyBastis测试增删改查、批量新增、多表联…

Redis(十六)缓存预热+缓存雪崩+缓存击穿+缓存穿透

文章目录 面试题缓存预热缓存雪崩解决方案 缓存穿透解决方案 缓存击穿解决方案案例&#xff1a;高并发聚划算业务 总结表格 面试题 缓存预热、雪崩、穿透、击穿分别是什么?你遇到过那几个情况?缓存预热你是怎么做的?如何避免或者减少缓存雪崩?穿透和击穿有什么区别?他两是…

基于docker安装HDFS

1.docker一键安装见 docker一键安装 2.拉取镜像 sudo docker pull kiwenlau/hadoop:1.03.下载启动脚本 git clone https://github.com/kiwenlau/hadoop-cluster-docker4.创建网桥 由于 Hadoop 的 master 节点需要与 slave 节点通信&#xff0c;需要在各个主机节点配置节点…

【ctfshow—web】——信息搜集篇1(web1~20详解)

ctfshow—web题解 web1web2web3web4web5web6web7web8web9web10web11web12web13web14web15web16web17web18web19web20 web1 题目提示 开发注释未及时删除 那就找开发注释咯&#xff0c;可以用F12来查看&#xff0c;也可以CtrlU直接查看源代码呢 就拿到flag了 web2 题目提示 j…

常见消息中间件

ActiveMQ 我们先看ActiveMQ。其实一般早些的项目需要引入消息中间件&#xff0c;都是使用的这个MQ&#xff0c;但是现在用的确实不多了&#xff0c;说白了就是有些过时了。我们去它的官网看一看&#xff0c;你会发现官网已经不活跃了&#xff0c;好久才会更新一次。 它的单机吞…

mysql优化指南之优化篇

二、优化 现在的理解数据库优化有四个维度&#xff0c;分别是&#xff1a; 硬件升级、系统配置、表结构设计、SQL语句及索引。 那优化的成本和效果分别如下&#xff1a; 优化成本&#xff1a;硬件升级>系统配置>表结构设计>SQL语句及索引。 优化效果&#xff1a;…

Java项目:27 基于SSM+JSP实现的大学校园兼职平台

作者主页&#xff1a;舒克日记 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 系统介绍 基于SSMJSP实现的大学校园兼职平台分为前台与管理员两块 管理端分为8大模块&#xff0c;分别是用户管理、兼职管理、帖子管理、聊天管理、…

「递归算法」:求根节点到叶节点数字之和

一、题目 给你一个二叉树的根节点 root &#xff0c;树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字&#xff1a; 例如&#xff0c;从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。 计算从根节点到叶节点生成的 所有数…

如何构建企业专属GPT

大语言模型&#xff08;LLM&#xff09;具有令人印象深刻的自然语言理解和生成能力&#xff0c; 2022年11月底OpenAI发布了ChatGPT&#xff0c;一跃成为人工智能AI领域的现象级应用。但由于LLM的训练数据集主要来源于互联网数据&#xff0c;企业私域信息并未被LLM所训练&#x…

家用电器全球扩张:如何借助海外网红营销实现助力品牌成长?

随着全球化的深入发展&#xff0c;家用电器市场已不再局限于国内市场&#xff0c;众多品牌纷纷将目光投向海外&#xff0c;寻求更广阔的发展空间。在这个过程中&#xff0c;如何有效地进行海外推广成为品牌面临的一大挑战。近年来&#xff0c;海外网红营销逐渐崭露头角&#xf…

【Spring】IoC容器 控制反转 与 DI依赖注入 配置类实现版本 第四期

文章目录 基于 配置类 方式管理 Bean一、 配置类和扫描注解二、Bean定义组件三、高级特性&#xff1a;Bean注解细节四、高级特性&#xff1a;Import扩展五、基于注解配置类方式整合三层架构组件总结 基于 配置类 方式管理 Bean Spring 完全注解配置&#xff08;Fully Annotatio…

AndroidStudio 2024-2-21 Win10/11最新安装配置(Kotlin快速构建配置,gradle镜像源)

AndroidStudio 2024 Win10/11最新安装配置 教程目的&#xff1a; (从安装到卸载) &#xff0c;针对Kotlin开发配置&#xff0c;gradle-8.2-src/bin下载慢&#xff0c;以及Kotlin构建慢的解决 好久没玩AS了,下载发现装个AS很麻烦,就觉得有必要出个教程了(就是记录一下:嘻嘻) 因…

MariaDB落幕和思考

听过MySQL的基本也都知道 MariaDB。MariaDB由MySQL的创始人主导开发&#xff0c;他早前曾以10亿美元的价格&#xff0c;将自己创建的公司MySQL AB卖给了SUN&#xff0c;此后&#xff0c;随着SUN被甲骨文收购&#xff0c;MySQL的所有权也落入Oracle的手中。传闻MySQL的创始人担心…

vue封装el-table表格组件

先上效果图&#xff1a; 本文包含了具名插槽、作用域插槽、jsx语法三种&#xff1a; Render.vue&#xff08;很重要&#xff0c;必须有&#xff09;: <script> export default {name: "FreeRender",functional: true,props: {scope:Object,render: Functio…