JAVA-添加HTTP响应头预防XXS攻击

这篇具有很好参考价值的文章主要介绍了JAVA-添加HTTP响应头预防XXS攻击。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方案一:在web.config中配置

<customHeaders>
    <!--检测到目标X-Content-Type-Options响应头缺失-->
    <add name="X-Content-Type-Options" value="nosniff" />
    <!--检测到目标X-XSS-Protection响应头缺失-->
    <add name="X-XSS-Protection" value="1;mode=block" />
    <!--检测到目标Content-Security-Policy响应头缺失-->
    <add name="Content-Security-Policy" value="default-src 'self'" />
    <!--检测到目标Strict-Transport-Security响应头缺失-->
    <add name="Strict-Transport-Security" value="max-age=31536000" />
    <!--检测到目标Referrer-Policy响应头缺失-->
    <add name="Referrer-Policy" value="origin-when-cross-origin" />
    <!--检测到目标X-Permitted-Cross-Domain-Policies响应头缺失-->
    <add name="X-Permitted-Cross-Domain-Policies" value="master-only" />
    <!--检测到目标X-Download-Options响应头缺失-->
    <add name="X-Download-Options" value="noopen" />
    <!--点击劫持:X-Frame-Options未配置-->
    <add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>

方案二:自定义filter文章来源地址https://www.toymoban.com/news/detail-668187.html

import org.springframework.web.filter.OncePerRequestFilter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 自定义过滤器,继承OncePerRequestFilter并实现doFilterInternal方法
 */
public class Myfilter extends OncePerRequestFilter {

    @Override
    protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {
        // 设置响应头,预防HTTP响应头缺失漏洞
        httpServletResponse.setHeader("X-Permitted-Cross-Domain-Policies", "master-only");
        httpServletResponse.setHeader("X-XSS-Protection", "1;mode=block");
        httpServletResponse.setHeader("X-Download-Options", "noopen");
        httpServletResponse.setHeader("X-Content-TYpe-OPtions", "nosniff");
        httpServletResponse.setHeader("Content-Security-Policy", "default-src 'self'");
        httpServletResponse.setHeader("X-Frame-Options", "SAMEORIGIN");

        // 过滤放行
        filterChain.doFilter(httpServletRequest, httpServletResponse);
    }
}
 
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Arrays;

/**
 * 自定义过滤器配置类
 */
@Configuration
public class FilterCOnfiguration {

    /**
     * 注册MyFilter到Spring Ioc容器
     * @return
     */
    @Bean
    FilterRegistrationBean<Myfilter> registrationBean() {
        FilterRegistrationBean<Myfilter> bean = new FilterRegistrationBean<>();
        bean.setFilter(new Myfilter());// 设置过滤器
        bean.setOrder(-1);// 设置优先级,数字越小优先级越高
        bean.setName("MyFilter");// 设置过滤器别名
        bean.setUrlPatterns(Arrays.asList("/*"));// 设置过滤路径
        return bean;
    }

}

到了这里,关于JAVA-添加HTTP响应头预防XXS攻击的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java http 响应式请求和非响应式请求有什么区别

    以下是一个使用Spring WebFlux实现真正的流式编程的案例: 运行Spring Boot应用程序,并使用浏览器或类似cURL的工具发送GET请求: 获取所有用户的请求:http://localhost:8080/users/stream 你将会看到一个持续不断的流式响应,每秒钟返回一个用户对象。这个案例中,我们使用了 @GetMapp

    2024年01月17日
    浏览(78)
  • Java EE 网络原理之HTTP 响应详解

    表示了这次请求对应的响应,是什么样的状态 (成功,失败,其他的情况,对应的原因…) 这里的状态码非常多,我们需要了解里面常见的状态码 2XX 都表示 成功 200 最常见 3xx 表示 重定向 请求中访问的是 A 这样的地址,响应返回了一个重定向报文,告诉你应该要访问 B 地

    2024年02月03日
    浏览(49)
  • JAVA 打印Http请求及响应的消息体

    有时候需要记录打印出服务的请求接口及请求体, 响应接口及返回体,可以使用以下方法

    2024年02月13日
    浏览(39)
  • Java基础八 - HTTP相关/Cookie/Session/网络攻击

    一、 反射/序列化/拷贝 1. 反射 2. 序列化 3. 动态代理 4. 深拷贝和浅拷贝 1. Session与Cookie 2. 如何避免sql注入 3. XSS(跨站脚本攻击) 4.  CSRF( 跨站网站攻击 )  1. 301与302 redirect(重定向) 2.  forward 和 redirect 的区别 3. tcp和udp 4. OSI 的七层模型 5. HTTP常见状态码 6. HTTP HTTPS区别 7. HTTPS传

    2024年02月11日
    浏览(34)
  • 【Java】Java内存溢出:原因、预防和解决方法

    人不走空                                                                        目录       🌈个人主页:人不走空       💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 什么是Java内存溢出? 内存溢出的原因 内存溢出的预防方法 内存溢出的解决方

    2024年03月23日
    浏览(48)
  • 钓鱼攻击:相似域名识别及如何有效预防攻击

    网络犯罪分子很乐意劫持目标公司或其供应商或业务合作伙伴的官方域名,但在攻击的早期阶段,他们通常没有这种选择。相反,在有针对性的攻击之前,他们会注册一个与受害组织的域名相似的域名 - 他们希望您不会发现其中的差异。此类技术称为相似攻击。 相似域名是指

    2024年02月13日
    浏览(41)
  • nginx脚本,Nginx变量截取字符串,拼接字符串,nginx打印日志,添加修改HTTP请求头,添加修改HTTP响应头

    nginx变量命名,以$开头。 打印日志的目的,是想知道某个变量的值是多少,通过add_header设置响应头,间接地打印日志。 通过设置响应头,然后在浏览器上请求nginx地址,然后得到的响应头,就知道变量值是多少了。 这个需要注意一下,特别是正则 ~   ,后面截取字符串需要

    2024年02月12日
    浏览(75)
  • 如何预防CSRF攻击

    CSRF(Cross-Site Request Forgery)攻击是一种常见的 Web 攻击,即攻击者在用户不知情的情况下,利用用户已登录的身份,向目标网站发送恶意请求,从而实现攻击目的。本文将介绍 CSRF 攻击的原理和常见的防范措施,以帮助 Web 开发者更好地保护用户信息安全。 CSRF 攻击的原理比较

    2024年02月09日
    浏览(55)
  • 【Java项目】解决请求路径上明文ID传输导致可能被攻击的方法

    这个问题是我公司的一个小业务问题,问题来源于我们发送请求的时候,请求路径上携带的是明文,比如http://xxx/xxx/id=12345,那么别有用心的人就可能会推测出id的生成策略,导致遍历id,自增id的方式来获取我们服务的数据,这是很危险的,所以我的mentor就叫我想一个解决方

    2024年02月12日
    浏览(199)
  • 如何预防ssl中间人攻击?

    当我们连上公共WiFi打开网页或邮箱时,殊不知此时可能有人正在监视着我们的各种网络活动。打开账户网页那一瞬间,不法分子可能已经盗取了我们的银行凭证、家庭住址、电子邮件和联系人信息,而这一切我们却毫不知情。这是一种网络上常见的“中间人攻击”,通过拦截

    2024年02月13日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包