Spring设置注入和构造注入的区别

Spring设置注入和构造注入的区别,第1张

Spring设置注入和构造注入的区别

1)构造注入可以再构造器中决定依赖关系的注入顺序,有限依赖的优先注入。例如,组件中其它依赖关系的注入,常常需要依赖于Datasource的注入。采用构造注入,可以在代码中清晰地决定注入顺序。

2)对于依赖关系无需变化的Bean,构造注入更加有用。因为没有setter方法,所有的依赖关系全部在构造器内设定。因此,无需担心后续代码对依赖关系的破坏。

3)依赖关系只能在构造器中设定,则只有组建的创建者才能改变组建的依赖关系。队组建的调用者而言,组件内部的依赖关系完全透明,更符合高内聚的原则。

什么是Spring ioc?

依赖注入(Dependecy Injection)和控制反转(Inversion of Control)是同一个概念,具体的讲:当某个角色需要另外一个角色协助的时候,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在spring中创建被调用者的工作不再由调用者来完成,因此称为控制反转。创建被调用者的工作由spring来完成,然后注入调用者

因此也称为依赖注入。

spring以动态灵活的方式来管理对象 , 注入的两种方式,设置注入和构造注入。

设置注入的优点:直观,自然

构造注入的优点:可以在构造器中决定依赖关系的顺序。

什么是AOP?

面向切面编程(AOP)完善spring的依赖注入(DI),面向切面编程在spring中主要表现为两个方面

1.面向切面编程提供声明式事务管理

2.spring支持用户自定义的切面

面向切面编程(aop)是对面向对象编程(oop)的补充,

面向对象编程将程序分解成各个层次的对象,面向切面编程将程序运行过程分解成各个切面。

AOP从程序运行角度考虑程序的结构,提取业务处理过程的切面,oop是静态的抽象,aop是动态的抽象,

是对应用执行过程中的步骤进行抽象,,从而获得步骤之间的逻辑划分。

网站安全狗sql注入攻击与防御怎么设置?所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。SQL防护功能主要包括检测URL长度功能和注入的防护规则两部分。下面我们通过实际的攻击实例来阐述该功能:

网站安全狗下载:网站安全狗Apache版|网站安全狗IIS版

网站安全狗sql注入攻击与防御设置教程

1.

超长的URL链接测试

过长的URL对于网站来说有什么危害呢?在网络上,曾有人对过长的URL进行测试发现,过长的URL会对流量产生影响。特别是当如果代码里的超链接写的是长URL时,就会导致网页内容变大,严重影响网站出口宽带的流量。

网站安全狗SQL注入防护功能,可以对URL长度进行设置并且将这个上限值设为通用指标来检测URL长度,当然用户可根据情况自己设定上限值(设置完后记得保存哦)。

具体安全狗设置和测试结果分别如下图所示:

图1

URL防护规则

当IE地址栏浏览长度超过设置的值,网站安全狗就会进行拦截,拦截页面如下:

图2

长链接测试实例

同时,通过网站安全狗的防护日志,我们可以查看到相对应的攻击防御成功的日志记录,截图如下:

图3

长链接防护日志

_#网站安全狗sql注入攻击与防御怎么设置#_

2.网站安全狗的设计是根据攻击特征库,对用户输入进行过滤,从而达到防护SQL注入的目的。

我们以官方第一条默认防护规则为例通过相应的攻击实例来介绍该功能设置。

(1)当我们设置SQL拦截规则的“防止and

or方式注入”的“检测URL”功能为“开启”时候,截图如下:

图4

设置SQL拦截规则

然后我们进行SQL注入,在IE上输入参数,进行SQL注入页面如下:

图5

SQL注入攻击

由于我们已经开启了SQL拦截规则的“防止and

or方式注入”的“检测URL”功能,当进行类似SQL注入时候就会d出被网站安全狗成功拦截的信息,截图如下:

图6

拦截提示信息

同时在网站安全狗的防护日志中会生成对应的攻击防御成功的日志记录,截图如下:

图7

防护日志

(2)当我们把SQL拦截规则的“防止and

or方式注入”的“检测COOKIE”功能设置为“开启”时候,截图如下:

图8

设置SQL防护规则

通过cookie方式进行SQL注入,注入方式如下图所示:

图9

cookie注入成功截图

_网站安全狗sql注入攻击与防御怎么设置#_

“开启”SQL拦截规则的“防止and

or方式注入”的“检测COOKIE”功能后,当进行类似SQL注入时候就会d出被网站安全狗成功拦截的信息,截图如下:

图10

拦截提示信息

同时在网站安全狗的防护日志中会生成对应的攻击防御成功的日志记录:

图11

防护日志

(3)把SQL拦截规则的“防止and

or方式注入”的“检测POST内容”功能设置为“开启”,截图如下:

图12

开启检测POST

“开启”之后,通过POST方式进行SQL注入,测试方式如下图所示:

图13

通过POST方式SQL注入

由于已经“开启”了SQL拦截规则的“防止and

or方式注入”的“检测POST内容”功能,这时如果发现类似SQL注入的时候,就会d出被网站安全狗的拦截信息。截图如下:

图14

拦截提示信息

同时在网站安全狗的防护日志中会生成对应的攻击防御成功的日志记录,截图如下:

图15

防护日志

以上是网站安全狗sql注入攻击与防御设置教程,希望对你有帮助!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6448340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-22
下一篇 2023-03-22

发表评论

登录后才能评论

评论列表(0条)

保存