tomcat下禁用不安全的http方法

  1. 如何禁止DELETE、PUT、OPTIONS、TRACE、HEAD等协议访问应用程序应用程序呢?  
  2.   
  3. 解决方法  
  4.   
  5. 第一步:修改应用程序的web.xml文件的协议  
  6.   
  7. Xml代码    
  8. <?xml version="1.0" encoding="UTF-8"?>    
  9. <web-app xmlns="http://java.sun.com/xml/ns/j2ee"    
  10.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
  11.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"    
  12.     version="2.4">    
  13.   
  14. <?xml version="1.0" encoding="UTF-8"?>  
  15. <web-app xmlns="http://java.sun.com/xml/ns/j2ee"  
  16.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  17.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"  
  18.     version="2.4">  
  19. 第二步:在应用程序的web.xml中添加如下的代码即可  
  20.   
  21. Xml代码    
  22.   <security-constraint>    
  23.    <web-resource-collection>    
  24.       <url-pattern>/*</url-pattern>    
  25.       <http-method>PUT</http-method>    
  26. <http-method>DELETE</http-method>    
  27. <http-method>HEAD</http-method>    
  28. <http-method>OPTIONS</http-method>    
  29. <http-method>TRACE</http-method>    
  30.    </web-resource-collection>    
  31.    <auth-constraint>    
  32.    </auth-constraint>    
  33.  </security-constraint>    
  34.  <login-config>    
  35.    <auth-method>BASIC</auth-method>    
  36.  </login-config>    
  37.   
  38.        


重新部署程序,重启tomcat即可完成

如果用户要验证既可以将POST和GET也添加在其中,重新部署并启动tomcat即可看到效果

以上的代码添加到某一个应用中,也可以添加到tomcat的web.xml中,区别是添加到某一个应用只对某一个应用有效如果添加到tomcat的web.xml中,则对tomcat下所有的应用有效。

关于web.xml的详细配置见
http://www.blogjava.net/baoyaer/articles/107428.html

http://serisboy.iteye.com/blog/1320177

原文地址:https://www.cnblogs.com/smallfa/p/6495332.html