- 博客(101)
- 资源 (49)
- 收藏
- 关注
原创 规范化JavaBean
Java Bean 是一个很常见的概念,简单来说就是一个 Java 类,其中的内容就是各种属性,以及各个属性的getter/setter
2024-08-20 22:33:06
977
1
原创 SpringSecurity6
是一个能够为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在 Spring 应用上下文中配置的 Bean,充分利用了 Spring IoC(Inversion of Control 控制反转),DI(Dependency Injection 依赖注入)和 AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。对身份验证和授权的全面且可扩展的支持防御会话固定、点击劫持,跨站请求伪造等攻击。
2024-08-20 19:23:30
910
原创 NMAP扫描器的使用
nmap是一个网络探测和安全扫描工具,系统管理者和个人可以使用这个软件扫描大型的网络,获取 哪台主机正在运行以及提供什么服务等信息。检测活在网络上的主机(主机发现)。检测主机上开放的端口(端口发现)。检测到相应的端口(服务发现)的软件和版本检测操作系统,硬件地址,以及软件版本检测脆弱性的漏洞(Nmap的脚本)总结:NMAP用于渗透测试中的信息收集。
2024-08-13 10:33:36
701
原创 thinkphp部署
为了获取到ThinkPHP不同版本用于构造测试环境,需要首先安装Composer。Composer是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。在之前学习ThinkPHP框架时我们也使用过Composer来在线安装ThinkPHP。
2024-08-10 09:15:02
386
原创 Micrometer Tracing和Zipkin实现链路追踪
Zipkin是一种分布式链路跟踪系统图形化的工具,Zipkin 是 Twitter 开源的分布式跟踪系统,能够收集微服务运行过程中的实时调用链路信息,并能够将这些调用链路信息展示到Web图形化界面上供开发人员分析,开发人员能够从ZipKin中分析出调用链路中的性能瓶颈,识别出存在问题的应用程序,进而定位问题和解决问题。在Micrometer Tracing中,每个请求都被赋予一个唯一的跟踪ID,跟踪ID会被传递到所有服务和组件中,以便将整个请求路径的类。传递协议,以便于不同的跟踪工具之间的互操作性。
2024-08-09 13:57:57
920
原创 蜜罐——HFish使用
蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。HFish是一款社区型免费蜜罐,侧重企业安全场景,从内网失陷检测、外网威胁感知、威胁情报生产三个场景出发,为用户提供可独立操作且实用的功能,通过安全、敏捷、可靠的中低交互蜜罐增加用户在失陷感知和威胁情报领域的能力。
2024-08-08 17:22:26
1025
原创 Java之BigDecimal详解
Java 在java.math包中提供的API类 BigDecimal,用来对超过16位有效位的数进行精确运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。
2024-08-08 00:13:30
851
原创 交换机-端口安全
端口安全(Port Security)通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC、安全静态MAC和Sticky MAC),阻止非法用户通过本接口和交换机通信,从而增强设备的安全性。
2024-08-05 20:45:33
256
原创 Suricata安装与基本使用
alert http $EXTERNAL_NET any $HOME_NET 80 (msg:"多次404,疑似扫描";Suricata来源于经典的NIDS系统Snort,是一套基于网络流量的威胁检测引擎. 整合了intrusion detection (IDS)、intrusion prevention (IPS)、network security monitoring (NSM) 和PCAP processing等功能。
2024-08-03 18:49:17
401
原创 SpringBoot服务端数据校验
在 Web 应用程序中,为了防止客户端传来的数据引发程序异常,常常需要对数据进行验证。数据验证分为:客户端验证服务端验证在Spring Boot 3中,参数校验是通过Bean Validation API实现的,这个API是JSR 380规范的一部分。Spring Boot集成了Hibernate Validator作为默认的校验器。所有的这些注解都有 message 属性,用于设置错误提示信息(如果没有设置,则会有默认的错误提示信息)。Hibernate Validator 实现了 JSR 303,它除了
2024-08-03 14:18:38
595
原创 JSONP跨域
json存在的意义:不同类型的语言,都能识别jsonJSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于server1.的网页无法与不是 server1.example.com的服务器沟通,而HTML的浏览器A从服务器B获取的静态资源,包括Html、Css、Js,然后在Js中通过Ajax访问C服务器的静态资源或请求。即:浏览器A从B服务器拿的资源,资源中想访问服务器C的资源。
2024-07-31 15:34:01
577
原创 雪花算法及MP实现方式
不过,这个主键自增长的方案好不好呢?如果发现有时钟回拨,时间很短比如 5 毫秒,就等待,然后再生成。面试常问:如果是并发量高,同一台机器一毫秒有5000个id,那么id会不会重复,不会,根据源码如果一毫秒内超过4096个id,则会阻塞到下一毫秒再生成。原生的 Snowflake 算法是完全依赖于时间的,如果有时钟回拨的情况发生,会生成重复的 ID,市场上的解决方案也是不少。如果发现有时钟回拨,时间很短比如 3 毫秒(一般大于3毫秒就不建议等待),就等待(线程睡3秒再来生成id),然后再生成。
2024-07-25 13:22:51
828
1
原创 华为ensp实现NAT转换
IPv4不够用,无法做到每个人都拥有一个,由于nat转换技术,迟迟无法推进IPv6的普及nat转换技术是把局域网的IP地址的主机转成一个公网的IP地址访问外界网络目前教室里的所有主机共用一个公网ip地址219.140.149.72访问外界网络NAT转换分类: SNAT:源地址转换,把源ip是内网的ip地址转换成公网的IP地址 DNAT:目的地址转换,把目的地址的公网ip转成内网的ip地址。
2024-07-25 08:56:01
158
原创 TypeScript入门
TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准(ES6 教程)。TypeScript 由微软开发的自由和开源的编程语言。TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。编程语言,分为了“强类型语言”和“弱类型语言”。强类型语言,对于数据类型要求非常严格,不允许不同类型的数据之间做隐式转换。
2024-07-24 17:44:46
1089
原创 Shiro-550反序列化漏洞
继续跟进到JcaChipherService的encrypt()方法,定义了一个ivBytes变量(CBC模式的初始化向量,用于每次AES加密之前或者解密之后,使用初始化向量与明文或密文异或),是随机生成的16个字节组成的字节数组。跟进到encrypt()方法,其使用cipherService(生成的加密服务对象)的encrypt()方法将序列化数据进行加密,而加密方式AES加密,模式为CBC,密钥为128位(16个字节),填充方式为PKCS5Padding。
2024-07-21 18:53:49
666
原创 stp生成树协议
汇聚层如果使用1台交换机,所有的报文都需要经过该交换机,对该交换机负载非常大,容易超负荷工作而故障,因此通过使用多台交换机分摊压力,形成负载均衡,一旦使用多台交换机就会在整个链路中产生广播风暴,广播风暴会造成链路故障,负载大,甚至造成断网,因此需要让环路出现破环,从物理上破环肯定是不行的,只有从逻辑上堵上接口就无法形成环路,就不会产生广播风暴,堵上接口的协议叫stp协议(生成树)
2024-07-20 14:54:44
107
原创 SpringBoot整合邮件发送
测试时需要将 spring.mail.username 和 spring.mail.password 改成自自己邮箱对应的登录名和密码,这里的密码不是邮箱的登录密码,是开启 POP3 之后设置的客户端授权密码。因为springboot提供了java操作邮件发送的启动器,所以在springboot 项目中完成邮件发送的功能,还是很简单、方便的。和文本邮件发送代码对比,富文本邮件发送使用 MimeMessageHelper 类,该类支持发送复杂邮件模板,支持文本、附件、HTML、图片等。
2024-07-17 12:24:41
384
原创 java 堆 栈 方法区的分析
基础数据类型(Value type)直接在栈(stack)空间分配,方法的形式参数,直接在栈空间分配,当方法调用完成后从栈空间回收。
2024-07-15 21:01:06
793
原创 MinIo文件服务器
Minio 是个基于 Golang 编写的开源对象存储套件,虽然轻量,却拥有着不错的性能。中文官网地址:http://www.minio.org.cn中文文档对应的是上个版本,新版本中有些内容已发生了变化,所以最好是看英文文档。minio java sdk api 文档何为对象存储?对象存储服务( Object Storage Service,OSS )是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。
2024-07-15 17:05:44
595
原创 ensp实现ICMP重定向实验
ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。路由器也会把初始数据包向它的目的地转发。
2024-07-13 10:48:43
430
原创 Mybatis进阶の常用配置&级联查询
autoMapping:开启结果集自动映射,通常在配置ResultMap时,如果查询结果集列名和映射实体类的属性名一样(不区分单词大小写的情况)可以开启自动映射:autoMapping=“true”。extends:配置结果集时,如果多个结果集存在“相同”的配置代码,可以将这些“重复”的配置抽取成一个公共的ResultMap,然后通过继承的方式沿用。不过,偶尔也会有人想着:批量起别名的情况下,给某个特定类指定特定的别名,这个需求我们可以借助在实体类上添加@Alias的方式解决。
2024-07-10 13:23:43
900
原创 ES6中的新特性
ECMAScript6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
2024-07-09 23:21:56
411
原创 Centos配置Docker
1、Docker 是一个开源的应用容器引擎2、诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)3、Docker 是一个可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器引擎(好比汽车发动机),然后发布到任何流行的 Linux 机器上。4、容器是完全使用沙箱机制,相互隔离5、容器性能开销极低。
2024-07-07 14:18:14
739
原创 CSRF漏洞攻击
(1)避免在URL中明文显示特定操作的参数内容;(2)使用同步令牌(Synchronizer Token),检查客户端请求是否包含令牌及其有效性;(常用的做法,并且保证每次token的值完全随机且每次都不同)(3)检查Referer Header,拒绝来自非本网站的直接URL请求。(4)不要在客户端保存敏感信息(比如身份认证信息);(5)设置会话过期机制,比如20分钟无操作,直接登录超时退出;(6)敏感信息的修改时需要对身份进行二次确认,比如修改账号时,需要判断旧密码;
2024-07-05 17:27:24
1030
原创 Linux之文本三剑客
sed(Stream EDitor)是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除、替换、添加、移动等),最后输出所有行或者仅输出处理的某些行。
2024-07-04 19:32:03
531
原创 Mybatis入门の基础操作
真相是:mybatis在openSession()时,默认开启了事务手动提交模式,所以在没有代码明确写明“commit()"的情况下,程序操作的结果不会物理更新到数据表中。注意:使用mapper代理开发时不用为dao接口编写实现类,但是在mapper.xml文件中的mapper节点中的namespace必须指定与同名接口类的全限定名。注意:使用mapper代理开发时不用为dao接口编写实现类,但是在mapper.xml文件中的mapper节点中的namespace必须指定与同名接口类的全限定名。
2024-07-03 13:46:39
505
原创 JWT生成Token
有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,从而找到用户的信息。缺点是什么?服务端保存大量数据,增加服务端压力服务端保存用户状态,无法进行水平扩展客户端请求依赖服务端,多次请求必须访问同一台服务器。
2024-06-30 20:52:42
1189
原创 centos7安装docker
3、配置yum镜像源,增加国内镜像源,如果不小心配置错误,在/etc/yum.repos.d/里找到docker-ce.repo,删除即可。vi /etc/docker/daemon.json # 打开配置文件,这个配置文件是我们新建的,把如下内容粘贴进去。目的:配置国内镜像源,拉取速度会变快,且容器的日志会变小,设置完后重载守护进程,并且需要重启docker服务。3、安装依赖包目的是为了配置yum源,默认的yum下载源是没有docker的。docker -v 显示docker的版本。
2024-06-29 16:47:29
496
原创 SpringMvc实现服务器端验证
可以结合全局异常处理,当 result.hasErrors() == true 时,在 Controller 中直接抛出异常,由 Controller 的异常处理类来解析 BindingResult 中的异常信息,并返回对应的错误信息给客户端。JSR 只是一套规范,其具体的实现中 Hibernate Validator 是最常见的实现,它即实现了 JSR 303 的要求,又实现了更新的 JSR 349 的要求。在 Web 应用程序中,为了防止客户端传来的数据引发程序异常,常常需要对数据进行验证。
2024-06-28 13:38:17
859
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人