質問

PUTを無効にし、DELETE <!> amp;アプリケーションサーバーApache Tomcat 6.0での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>

別の方法として、次の2つのことを実行できます。

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>

他のヒント

答えはサーブレットの仕様にあります。サーブレットのAPIを見ると、 http://java.sun.com/products/servlet/2.5/docs/servlet-2_5-mr2/javax/servlet/http/HttpServlet.html では、さまざまなメソッドが処理することがわかります。さまざまな種類のHTTP要求。また、フィルターと呼ばれるすばらしい機能があり、これを使用して、サーブレットとフィルターの周りにいくつかのコードをラップできます。

ソリューションは次のとおりです。

  • doおよびgetのみをサポートするようにサーブレットを変更します。または
  • 他の種類のリクエストをクリアするフィルターを作成します。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top