Frage

Ich muss deaktivieren PUT, DELETE & TRACE HTTP-Anforderungen auf meinem Application Server, Apache Tomcat 6.0.

Alle anderen Quellen, ich habe bis jetzt gesucht haben wies mich auf die Grenzparameter in httpd.conf , also ich es vor Hand legen würde, dass ich nicht Apache Web Server, und Anfragen werden direkt von Tomcat umgegangen werden, und so gibt es kein httpd.conf in Bild.

Bitte legen nahe, wie soll ich es auf Tomcat tun?

War es hilfreich?

Lösung

In Ihrem WEBINF, fügen Sie eine Sicherheitsbeschränkung hinzufügen:

<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>

Alternativ können Sie diese zwei Dinge tun:

In server.xml, bearbeiten Sie die <connector> Element, fügen Sie ein Attribut: allowTrace="false". Dann bearbeiten Sie die 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>

Andere Tipps

Die Antwort liegt in der Servlet-Spezifikation. Mit Blick auf die API für das Servlet: http://java.sun.com/products/servlet/2.5/docs/servlet-2_5-mr2/javax/servlet/http/HttpServlet.html Sie sehen, dass verschiedene Methoden behandeln andere Art von HTTP-Anfragen. Außerdem gibt es ein großes Feature namens Filter, die verwendet werden können, einige Code um Servlets und Filter zu wickeln.

So sind die Lösungen:

  • Ändern Sie das Servlet nur Unterstützung tun und erhalten; oder
  • Erstellen Sie einen Filter jene andere Art von Anfragen zu löschen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top