Springboot怎么使用内置tomcat禁止不安全HTTP
Springboot怎么使用内置tomcat禁止不安全HTTP
本文小编为大家详细介绍“Springboot怎么使用内置tomcat禁止不安全HTTP”,内容详细,步骤清晰,细节处理妥当,希望这篇“Springboot怎么使用内置tomcat禁止不安全HTTP”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
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容器中
@ConfigurationpublicclassTomcatConfig{@BeanpublicEmbeddedServletContainerFactoryservletContainer(){TomcatEmbeddedServletContainerFactorytomcatServletContainerFactory=newTomcatEmbeddedServletContainerFactory();tomcatServletContainerFactory.addContextCustomizers(newTomcatContextCustomizer(){@Overridepublicvoidcustomize(Contextcontext){SecurityConstraintconstraint=newSecurityConstraint();SecurityCollectioncollection=newSecurityCollection();//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);//设置使用httpOnlycontext.setUseHttpOnly(true);}});returntomcatServletContainerFactory;}}
启用不安全的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>
标签介绍:
<security-constraint>用于限制对资源的访问;
<auth-constraint>用于限制那些角色可以访问资源,这里设置为空就是禁止所有角色用户访问;
<url-pattern>指定需要验证的资源
<http-method>指定那些方法需要验证
读到这里,这篇“Springboot怎么使用内置tomcat禁止不安全HTTP”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注恰卡编程网行业资讯频道。
推荐阅读
-
Node http模块基本使用方法是什么
-
Swift中的HTTP请求体Request Bodies如何使用
Swift中的HTTP请求体Request Bodies如何使用本...
-
JMeter快速入门知识系列(3)JMeter测试HTTP GET请求
-
列举PHP编程里面最为精髓的内容,全是PHP的干货知识
-
Netty核心11-HttpRequestDecoder源码
-
另类方式实现PHP后台运行
-
php curl和状态码介绍
cURL可以使用URL的语法模拟浏览器来传输数据,因为它是模拟浏览器,因此它同样支持多种协议,FTP,FTPS,HTTP,...
-
「curl」PHP中的传输神器
-
利用php的cURL实现模拟登录,抓取页面数据等功能
-
面试官:从 URL 输入到页面展现到底发生了什么?