一尘不染

在Apache Tomcat 6.0中禁用PUT TRACE DELETE请求

tomcat

我需要在我的应用程序服务器Apache Tomcat 6.0上 禁用PUT,DELETE和TRACE HTTP请求

到目前为止,我一直在搜索所有其他资源,这些资源已将我定向到 httpd.conf中 的limit参数,因此,我事先声明自己未使用Apache Web
Server,并且请求直接由Tomcat处理,并且因此图片中没有 httpd.conf

请建议我应该如何在Tomcat上执行此操作?


阅读 407

收藏
2020-06-16

共1个答案

一尘不染

在您的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>
2020-06-16