logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

后端防止xss攻击两种方法

一.写filter新增 XssFilter 拦截用户提交的参数,进行相关的转义和黑名单排除,完成相关的业务逻辑。在整个过程中最核心的是通过包装用户的原始请求,创建新的 requestwrapper 保证请求流在后边的流程可以重复读。1、使用spring的HtmlUtils,可以使用StringEscapeUtils 中的过滤方法/*** 解决XSS跨站脚本攻击和sql注入攻击,使用spring的H

#后端#xss#安全 +1
java并发编程Future类详解

作用和举例future类的作用就是为了调用其他线程完成好后的结果,再返回到当前线程中,如上图举例:小王自己是主线程,叫外卖等于使用future类,叫好外卖后小王就接着干自己的事去了,当外卖到了的时候,future.get获取,继续做接下来的事情但要注意的是当还没获取外卖的时候,主线程中用餐这一步是卡住的JDK中的Future实现结构如下常用方法:cancel():如果等太久,你可以直接取消这个任务

#java#开发语言#后端
mysql中explain语句查询sql是否走索引,extra中的几种类型整理汇总

1.using index通过二级普通索引查找,实现了覆盖索引,不用进行回表查询2.using index condition通过二级普通索引查找,在通过索引查到的结果后还有where条件过滤,而且这个过滤筛选是只需要用二级普通索引就可以实现,不用在内存中进行判断筛选。但是需要回表查询需要的字段值。3.using where不管有没有通过索引查找,只要加载了数据到内存进行where条件筛选,都是4

#mysql#大数据#数据库 +2
javax.validation详解,全局异常处理,如何实现自定义校验注解,以及和spring的validation区别

当进行逻辑处理的时候,我们首先要做的想必一定是参数校验,这时候需要使用javax.validation进行参数校验。javax.validation可用的注解空检查@Null 验证对象是否为null@NotNull 验证对象是否不为null, 无法查检长度为0的字符串@NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.@NotEmpty 检

#spring#java#后端
SpringBoot中localeResolver使用教程

从上面的AcceptHeaderLocaleResolver方法,返回的LocaleResolver的逻辑可知,我们最终会得到AcceptHeaderLocaleResolver,这样根据请求对象中的请求头中的Accept-Language属性,来返回Locale区域对象的LocaleResolver。就会继续执行最下面的部分。5、当属性值为fixed,应该搭配spring.web.locale、

#spring boot#spring#java +2
Spring Boot项目健康检查与监控,Actuator使用教程

首先引入包<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>配置文件(yml格式)management:endpoints:web:ba

#spring#spring boot#redis
log4j漏洞成因和原理(JNDI和LDAP)

转载出处:https://mp.weixin.qq.com/s/4MnOQGg7LBYCUE7BuuGfEQlog4j2不管是什么编程语言,不管是前端后端还是客户端,对打日志都不会陌生。通过日志,可以帮助我们了解程序的运行情况,排查程序运行中出现的问题。在Java技术栈中,用的比较多的日志输出框架主要是log4j2和logback。今天讨论的主角就是log4j2。我们经常会在日志中输出一些变量,比

#java#开发语言#后端
Mybatis使用in传入List的三种方法

1.非xml方式,使用注解传in,要使用@Select("<script>" +"SELECT count(DISTINCT member_id) as memberCount\n" +"from member_analysis\n" +"WHERE agent_id in <foreach item='item' index='index' collection='member

#list#java#数据结构
java异常和错误区分

错误(虚拟机错误,爆栈,内存溢出)•StackOverFlowError: Java虚拟机栈的内存大小不允许动态扩展,线程请求栈的深度》虚拟机栈的最大深度,抛出StackOverFlowError•OutOfMemoryError: Java 虚拟机栈的内存大小允许动态扩展,当线程请求栈时内存用完了,无法再动态扩展了,此时抛出OutOfMemoryError异常:checked exception

#java
istio学习笔记3:envoy代理

Envoy介绍Envoy 是一个为云原生应用设计的开源边缘与服务代理,是云原生计算基金会(CNCF)第三个毕业的项目,GitHub 目前有 13k+ Star。作为为云原生应用设计的代理,它可以在服务旁运行,以平台无关的方式提供必要的特性,所有到服务的流量都通过 Envoy 代理,这里 Envoy 扮演的就是 Sidecar 的角色。特点:基于现代 C++ 开发的 L4/L7 高性能代理。透明代理

#云原生#运维#java
    共 22 条
  • 1
  • 2
  • 3
  • 请选择