@websec007
2017-10-12T16:15:01.000000Z
字数 1524
阅读 2700
未分类
学习参考
http://www.zhutougg.com/2017/10/11/tomcatzhi-jie-shou-get-postqing-qiu-fang-fa/
禁用方式比较简单,只需要在web.xml文件中配置以下内容即可完成,具体配置可参考如下说明。(注:web.xml配置文件有多个,不同的业务目录下可能都存在web.xml,默认配置$Tomcat/conf目录下的web.xml 即可禁用根目录下所有业务的相关请求。如有特殊业务需求可独立配置您实际业务目录下的web.xml文件)
将你需要禁用的HTTP请求方法(PUT/DELETE/HAED...),直接参考如下代码的格式添加好相关禁用方法,然后将整段代码加在<webapp>标签字段之中,即可实现当前业务下路径的HTTP请求方法的禁用。
禁用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>
例如你需要禁用Tomcat默认conf 目录下的所有业务请求中的PUT、DELETE、HEAD、OPTIONS、TRACE方法(即只开启GET 与 POST方法 )。
<webapp>
与 </webapp>
之间添加如下代码
<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>
我们直接使用curl 命令行工具进行HTTP 请求方法验证,具体操作命令如下。
# curl -I -X OPTIONS http://127.0.0.1:8080/
# curl -I -X OPTIONS http://127.0.0.1:8080/examples/
http://www.techstacks.com/howto/disable-http-methods-in-tomcat.html