目录
Springboot 内置tomcat禁止不安全HTTP方法
1、在tomcat的web.xml中可以配置如下内容
2、Spring boot使用内置tomcat
启用不安全的HTTP方法
问题描述:
解决方案:
标签介绍:
首页 Java java教程 Springboot怎么使用内置tomcat禁止不安全HTTP

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

May 12, 2023 am 11:49 AM
http tomcat springboot

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

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

让tomcat禁止不安全的HTTP方法

<security-constraint>  
   <web-resource-collection>  
      <url-pattern>/*</url-pattern>  
      <http-method>PUT</http-method>  
   <http-method>DELETE</http-method>  
   <http-method>HEAD</http-method>  
   <http-method>OPTIONS</http-method>  
   <http-method>TRACE</http-method>  
   </web-resource-collection>  
   <auth-constraint>  
   </auth-constraint>  
</security-constraint>  
<login-config>  
  <auth-method>BASIC</auth-method>  
</login-config>
登录后复制

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加上如下内容

<security-constraint>
        <web-resource-collection>
            <web-resource-name>disp</web-resource-name>
            <url-pattern>/*</url-pattern>
            <http-method>PUT</http-method>
            <http-method>DELETE</http-method>
            <http-method>HEAD</http-method>
            <http-method>OPTIONS</http-method>
            <http-method>TRACE</http-method>
            <http-method>PATCH</http-method>
        </web-resource-collection>
        <auth-constraint></auth-constraint>
    </security-constraint>
登录后复制

标签介绍:

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

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

  • 指定需要验证的资源

  • 指定那些方法需要验证

以上是Springboot怎么使用内置tomcat禁止不安全HTTP的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

tomcat服务器怎么让外网访问 tomcat服务器怎么让外网访问 Apr 21, 2024 am 07:22 AM

要让 Tomcat 服务器对外网访问,需要:修改 Tomcat 配置文件,允许外部连接。添加防火墙规则,允许访问 Tomcat 服务器端口。创建 DNS 记录,将域名指向 Tomcat 服务器公有 IP。可选:使用反向代理提升安全性和性能。可选:设置 HTTPS 以提高安全性。

tomcat如何部署jar项目 tomcat如何部署jar项目 Apr 21, 2024 am 07:27 AM

要将 JAR 项目部署到 Tomcat,请遵循以下步骤:下载并解压 Tomcat。配置 server.xml 文件,设置端口和项目部署路径。将 JAR 文件复制到指定的部署路径中。启动 Tomcat。使用提供的 URL 访问已部署的项目。

tomcat安装目录在哪里 tomcat安装目录在哪里 Apr 21, 2024 am 07:48 AM

Tomcat 安装目录:默认路径:Windows:C:\Program Files\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9自定义路径:安装时可指定。查找安装目录:使用 whereis 或 locate 命令。

tomcat怎么部署多个项目 tomcat怎么部署多个项目 Apr 21, 2024 am 09:33 AM

要通过 Tomcat 部署多个项目,需要创建每个项目的 webapp 目录,然后:自动部署:将 webapp 目录放置在 Tomcat 的 webapps 目录中。手动部署:在 Tomcat 的 manager 应用程序中手动部署项目。项目部署后,可以通过其部署名称访问,例如:http://localhost:8080/project1。

tomcat并发连接数怎么查看 tomcat并发连接数怎么查看 Apr 21, 2024 am 08:12 AM

查看Tomcat并发连接数的方法:访问Tomcat Manager页面(http://localhost:8080/manager/html),输入用户名和密码。在左侧导航栏中点击Status->Sessions,即可在页面顶部看到并发连接数。

tomcat网站根目录在哪里 tomcat网站根目录在哪里 Apr 21, 2024 am 09:27 AM

Tomcat 网站根目录位于 Tomcat 的 webapps 子目录中,用于存储 Web 应用程序文件、静态资源和 WEB-INF 目录;它可以通过查找 Tomcat 配置文件中的 docBase 属性来找到。

tomcat的端口号怎么看 tomcat的端口号怎么看 Apr 21, 2024 am 08:00 AM

Tomcat端口号可通过以下方法查看:检查server.xml文件中的<Connector>元素的port属性。访问Tomcat管理界面(http://localhost:8080/manager/html)并查看"Status"选项卡。在命令行中运行"catalina.sh version"并查看"Port:"行。

tomcat怎么运行两个不同端口号的项目 tomcat怎么运行两个不同端口号的项目 Apr 21, 2024 am 09:00 AM

在Tomcat服务器上运行不同端口号的项目需要以下步骤:修改server.xml文件并添加Connector元素以定义端口号。添加Context元素以定义与端口号关联的应用程序。创建WAR文件并部署到相应目录(webapps或webapps/ROOT)。重启Tomcat以应用更改。

See all articles