当前位置:

首页 > 编程开发 > Springboot怎么使用内置tomcat禁止不安全HTTP

Springboot怎么使用内置tomcat禁止不安全HTTP

Springboot内置tomcat禁止不安全HTTP方法1、在tomcat的web.xml中可以配置如下内容让tomcat禁止不安全的HTTP方法/*PUTDELETEHEADOPTIONSTRACEBASIC2、Springboot使用内置tomcat没有web.xml配置文件,可以通过以下配置进行,简单来说就是要注入到Spring容器中@ConfigurationpublicclassTomcatConfig{@BeanpublicEmbeddedServletContainerFactoryser

本文目录

    Springboot 内置tomcat禁止不安全HTTP方法

    1、在tomcat的web.xml中可以配置如下内容

    让tomcat禁止不安全的HTTP方法

      
         
          /*  
          PUT  
       DELETE  
       HEAD  
       OPTIONS  
       TRACE  
         
         
         
      
      
      BASIC  
    

    2、Spring boot使用内置tomcat

    没有web.xml配置文件,可以通过以下配置进行,简单来说就是要注入到Spring容器中

    @Configuration
    public class TomcatConfig { 
        @Bean
        public EmbeddedServletContainerFactory servletContainer() {
            TomcatEmbeddedServletContainerFactory tomcatServletContainerFactory = new TomcatEmbeddedServletContainerFactory();
            tomcatServletContainerFactory.addContextCustomizers(new TomcatContextCustomizer(){
     
       @Override
       public void customize(Context context) {
        SecurityConstraint constraint = new SecurityConstraint();
        SecurityCollection collection = new SecurityCollection();
        //http方法
        collection.addMethod("PUT");
        collection.addMethod("DELETE");
        collection.addMethod("HEAD");
        collection.addMethod("OPTIONS");
        collection.addMethod("TRACE");
        //url匹配表达式
        collection.addPattern("/*");
        constraint.addCollection(collection);
        constraint.setAuthConstraint(true);
        context.addConstraint(constraint );
        
        //设置使用httpOnly
        context.setUseHttpOnly(true);    
       }
            });
            return tomcatServletContainerFactory;
        } 
    }

    启用不安全的HTTP方法

    问题描述:

    可能会在Web服务器上上载、修改或删除Web页面、脚本和文件。

    "启用了不安全的HTTP方法:OPTIONS /system HTTP/1.1Allow: HEAD, PUT, DELETE, TRACE, OPTIONS, PATCH

    上述方法的用途:

    • Options、Head、Trace:主要由应用程序来发现和跟踪服务器支持和网络行为;

    • Get:检索文档;

    • Put和Post:将文档提交到服务器;

    • Delete:销毁资源或集合;

    • Mkcol:创建集合

    • PropFind和PropPatch:针对资源和集合检索和设置属性;

    • Copy和Move:管理命名空间上下文中的集合和资源;

    • Lock和Unlock:改写保护

    很显然上述操作明细可以对web服务器进行上传、修改、删除等操作,对服务造成威胁。虽然WebDAV有权限控制但是网上一搜还是一大堆的攻击方法,所以如果不需要这些方法还是建议直接屏蔽就好了。

    解决方案:

    在web应用中的web.xml加上如下内容

    
            
                disp
                /*
                PUT
                DELETE
                HEAD
                OPTIONS
                TRACE
                PATCH
            
            
        

    标签介绍:

    • 用于限制对资源的访问;

    • 用于限制那些角色可以访问资源,这里设置为空就是禁止所有角色用户访问;

    • 指定需要验证的资源

    • 指定那些方法需要验证

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 tomcat
    相关文章 更多
    tomcat启动失败的原因和解决办法详解
    tomcat启动失败的原因和解决办法详解

    详细分析 Tomcat 启动失败的常见原因,并提供可操作的排查和解决方案。

    修改tomcat的默认端口号配置文件及操作步骤
    修改tomcat的默认端口号配置文件及操作步骤

    详细讲解如何在Tomcat中通过编辑conf/server.xml文件来修改默认的HTTP连接器端口,包含文件路径查找、关键标签定位及重启服务的完整步骤。

    tomcat部署项目流程详细步骤与配置教程
    tomcat部署项目流程详细步骤与配置教程

    手把手教你如何在Tomcat中部署Web项目,包括自动部署与手动配置server.xml的方法,解决端口冲突和路径访问问题,适合Java初学者和运维人员参考。

    tomcat安装与环境变量配置教程及完整操作步骤
    tomcat安装与环境变量配置教程及完整操作步骤

    手把手教你在Windows系统中安装Apache Tomcat并配置关键环境变量。涵盖JDK验证、CATALINA_HOME设置及启动测试,确保Web服务器正常运行,适合Java初学者参考。

    前端获取http状态码400的返回值实例
    前端获取http状态码400的返回值实例

    调用后端接口遇到400状态码时,仅捕获error.message无法获取具体错误信息。需在catch中通过error.response对象获取状态码、响应体及业务描述等详细数据,从而精准定位后端返回的业务错误。

    flex tomcat端口被占用的问题分析及解决方法
    flex tomcat端口被占用的问题分析及解决方法

    启动Tomcat时若8080端口被占用,可在命令行输入`netstat-ano`查找PID,再于任务管理器结束该进程,最后重新启动Tomcat即可释放端口并正常运行。

    solaris 10下安装java+tomcat
    solaris 10下安装java+tomcat

    在Solaris系统上配置Ja va和Tomcat环境,说起来不算复杂,但一些细节如果不注意,很容易卡壳。下面以Solaris10为例,把整个流程拆开讲清楚,跟着步骤走就能搞定。 1. Ja va安装 先把安装文件 j2re-1_4_2_05-solaris-i586.sh 上传到 /export/

    suse 10.3 安装http apche2时遇到的rpm依赖问题的解决方法
    suse 10.3 安装http apche2时遇到的rpm依赖问题的解决方法

    在SUSE 10.3中安装http apache2的依赖问题解决 在SUSE 10.3系统上安装Apache2时,很多人都会遇到一个典型的依赖错误。系统会明确提示你缺少几个关键的库文件,具体信息通常是这样: libapr1 >= 1.0 is needed by apache2-2.2.3-16.2

    Golang 测试 HTTP API 方法详解
    Golang 测试 HTTP API 方法详解

    使用httptest可高效测试GolangHTTPAPI。1.用NewRecorder模拟请求并检查状态码、响应体和头信息;2.测试路由和中间件时将ServeMux注入测试;3.用NewServer启动临时服务进行端到端验证。

    HTTP状态码大全及常见问题解析
    HTTP状态码大全及常见问题解析

    前言通过前面的总结,我们了解到,当客户端通过HTTP向服务端发送请求后,期望服务端能够作出响应。在服务端的响应中,信息头包含一个称为StatusCode的属性,其值是一个三位数字,我们称之为HTTP状态码。HTTP状态码是HTTP协议的重要组成部分,用来表示服务端对当前请求的响应状态。概念HTTP状态码(英语:HTTPStatusCode)是用来表示网页服务器HTTP协议响应状态的三位数字代码。它由RFC2616规范定义,并得到RFC2518、RFC2817、R

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。