Springboot解决不安全的请求

 说明

        禁止使用GET、POST以外的HTTP方法,如PUT、DELETE、TRACE等

不安全的 HTTP 方法 处理代码

修改 Springboot 内置 Tomcat 的配置

@Configuration
public class TomcatConfig {

    @Bean
    public ServletWebServerFactory servletContainer() {

        TomcatServletWebServerFactory tomcatServletContainerFactory = new TomcatServletWebServerFactory();

        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);
            //设置以上HTTP方法在指定路径下需要身份验证约束
            constraint.setAuthConstraint(true);
            context.addConstraint(constraint );

            //设置使用httpOnly
            context.setUseHttpOnly(true);
           }
        });
        return tomcatServletContainerFactory;
    }
}

项目启动可以看到  其他方法已被封禁

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值