Tomcat 禁用不安全的 HTTP 請求模式及測試

 

WebDAV (Web-based Distributed Authoring and Versioning) 一種基於 HTTP 1.1協議的通訊協議.它擴展了HTTP 1.1,在GET、POST、HEAD等幾個HTTP標準方法之外添加了一些新的方法,使應用程序可直接對Web Server直接讀寫,並支持寫文件鎖定(Locking)及解鎖(Unlock),還能夠支持文件的版本控制。web

HTTP/1.1協議中共定義了八種方法(有時也叫「動做」)來代表Request-URI指定的資源的不一樣操做方式:api

  OPTIONS 返回服務器針對特定資源所支持的HTTP請求方法。也能夠利用向Web服務器發送'*'的請求來測試服務器的功能性。 tomcat

  HEAD 向服務器索要與GET請求相一致的響應,只不過響應體將不會被返回。這一方法能夠在沒必要傳輸整個響應內容的狀況下,就能夠獲取包含在響應消息頭中的元信息。 安全

  GET 向特定的資源發出請求。注意:GET方法不該當被用於產生「反作用」的操做中,例如在web app.中。其中一個緣由是GET可能會被網絡蜘蛛等隨意訪問。 服務器

  POST 向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會致使新的資源的創建和/或已有資源的修改。 網絡

  PUT 向指定資源位置上傳其最新內容。 app

  DELETE 請求服務器刪除Request-URI所標識的資源。 工具

  TRACE 回顯服務器收到的請求,主要用於測試或診斷。 post

  CONNECT HTTP/1.1協議中預留給可以將鏈接改成管道方式的代理服務器。 測試

  方法名稱是區分大小寫的。當某個請求所針對的資源不支持對應的請求方法的時候,服務器應當返回狀態碼405(Method Not Allowed);當服務器不認識或者不支持對應的請求方法的時候,應當返回狀態碼501(Not Implemented)。 

  HTTP服務器至少應該實現GET和HEAD方法,其餘方法都是可選的。固然,全部的方法支持的實現都應當符合下述的方法各自的語義定義。此外,除了上述方法,特定的HTTP服務器還可以擴展自定義的方法。

  

  http 的訪問中,通常經常使用的兩個方法是:GET和POST。其實主要是針對 DELETE \ PUT \ TRACE 等方法的禁用。

  一、禁用程序,tomcat有多個程序時,在程序的web.xml中添加:

    <!-- 禁用不安全方法 -->
    <security-constraint>
        <web-resource-collection>
            <url-pattern>/*</url-pattern>
            <http-method>PUT</http-method>
            <http-method>HEAD</http-method>
            <http-method>TRACE</http-method>
            <http-method>PATCH</http-method>
            <http-method>DELETE</http-method>
            <http-method>OPTIONS</http-method>
        </web-resource-collection>
        <auth-constraint>
        </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>BASIC</auth-method>
    </login-config>

    

  二、Tomcat 禁用,在 Tomcat 只有一個程序、或者多程序同時須要禁用時:

    在 tomcat/conf/web.xml 添加如上代碼。

 

  修改完成重啓 Tomcat 便可。

 

測試:

  下載 ApiPost 測試工具:https://www.apipost.cn/

 

  

 

成功會提示:HTTP Status 403 – 被禁止

相關文章
相關標籤/搜索