@websec007
2017-10-12T08:15:01.000000Z
字数 1524
阅读 3028
未分类
学习参考
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
