我需要在我的应用服务器Apache Tomcat 6.0上禁用PUT、DELETE和TRACE HTTP请求。
到目前为止,我搜索到的所有来源都指向了httpd.conf中的limit参数。因此,我要事先说明一下,我没有使用Apache Web服务器,而是直接由Tomcat处理请求,因此不存在httpd.conf的问题。
请建议我如何在Tomcat上进行操作?
我需要在我的应用服务器Apache Tomcat 6.0上禁用PUT、DELETE和TRACE HTTP请求。
到目前为止,我搜索到的所有来源都指向了httpd.conf中的limit参数。因此,我要事先说明一下,我没有使用Apache Web服务器,而是直接由Tomcat处理请求,因此不存在httpd.conf的问题。
请建议我如何在Tomcat上进行操作?
在WEBINF中,您可以添加安全约束:
<security-constraint>
<web-resource-collection>
<web-resource-name>Forbidden</web-resource-name>
<url-pattern>/blah/*</url-pattern>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>empty_role</role-name>
</auth-constraint>
</security-constraint>
另外,您也可以采取以下两个步骤:
在server.xml中编辑<connector>
元素,并添加一个属性:allowTrace="false"
。然后编辑DefaultServlet:$CATALINA_HOME/conf/web.xml。
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>
org.apache.catalina.servlets.DefaultServlet
</servlet-class>
<!-- blah blah blah -->
<init-param>
<param-name>readonly</param-name>
<param-value>true</param-value>
</init-param>
</servlet>