zoukankan      html  css  js  c++  java
  • Spring boot 内置tomcat禁止不安全HTTP方法

    Spring boot 内置tomcat禁止不安全HTTP方法

    在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>
    

    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;
        }
     
    }
    
  • 相关阅读:
    使用ZooKeeper实现Java跨JVM的分布式锁
    基于ZooKeeper的分布式锁和队列
    activiti数据库表结构剖析
    visualvm监控jvm及远程jvm监控方法
    使用visualvm 远程监控 JVM
    java jprofile
    Linux服务器上监控网络带宽的18个常用命令
    Redis-sentinel哨兵模式集群方案配置
    电容的去耦半径
    DC-DC BUCK电源芯片的基本原理和组成
  • 原文地址:https://www.cnblogs.com/senlinyang/p/10314525.html
Copyright © 2011-2022 走看看