禁用WebDAV-tomcat(java)
由於要處理一份關於公司的一個公眾使用者網站安全掃描中可能存在的安全性問題。需要禁用WebDAV,或者說是對http中的一些方法的禁用。
WebDAV (Web-based Distributed Authoring and Versioning) 一種基於 HTTP 1.1協議的通訊協議.它擴充套件了HTTP 1.1,在GET、POST、HEAD等幾個HTTP標準方法以外新增了一些新的方法,使應用程式可直接對Web Server直接讀寫,並支援寫檔案鎖定(Locking)及解鎖(Unlock),還可以支援檔案的版本控制。
HTTP/1.1協議中共定義了八種方法(有時也叫“動作”)來表明Request-URI指定的資源的不同操作方式:
OPTIONS 返回伺服器針對特定資源所支援的HTTP請求方法。也可以利用向Web伺服器傳送'*'的請求來測試伺服器的功能性。
HEAD 向伺服器索要與GET請求相一致的響應,只不過響應體將不會被返回。這一方法可以在不必傳輸整個響應內容的情況下,就可以獲取包含在響應訊息頭中的元資訊。
GET 向特定的資源發出請求。注意:GET方法不應當被用於產生“副作用”的操作中,例如在web app.中。其中一個原因是GET可能會被網路蜘蛛等隨意訪問。
POST 向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。資料被包含在請求體中。POST請求可能會導致新的資源的建立和/或已有資源的修改。
PUT 向指定資源位置上傳其最新內容。
DELETE 請求伺服器刪除Request-URI所標識的資源。
TRACE 回顯伺服器收到的請求,主要用於測試或診斷。
CONNECT HTTP/1.1協議中預留給能夠將連線改為管道方式的代理伺服器。
方法名稱是區分大小寫的。當某個請求所針對的資源不支援對應的請求方法的時候,伺服器應當返回狀態碼405(Method Not Allowed);當伺服器不認識或者不支援對應的請求方法的時候,應當返回狀態碼501(Not Implemented)。
HTTP伺服器至少應該實現GET和HEAD方法,其他方法都是可選的。當然,所有的方法支援的實現都應當符合下述的方法各自的語義定義。此外,除了上述方法,特定的HTTP伺服器還能夠擴充套件自定義的方法。
http的訪問中,一般常用的兩個方法是:GET和POST。其實主要是針對DELETE等方法的禁用。有兩種方式:
一、修改應用中的web.xml:
第一步:修改web-app協議
第二步:在應用程式的web.xml中新增如下的程式碼即可
二、修改tomcat中conf下的web.xml
步驟同上。
修改應用中的web.xml就只針對本應用起作用,修改tomcat中的web.xml就可以對啟動在該tomcat下所有的應用起作用。
在未限制DELETE等方法前(即未做上述web.xml的內容的新增之前),測試http的DELETE方法的效果,方式如下:
第一步:
在Tomcat的web.xml 檔案中配置org.apache.catalina.servlets.DefaultServlet的初始化引數
readonly引數預設是true,即不允許delete和put操作,所以預設的通過XMLHttpRequest物件的put或者delete方法訪問就會報告 http 403 forbidden 錯誤。
第二步:
從客戶端通過 Ajax XMLHTTPRequest 發起 DELETE/PUT 請求,利用AJAX的方式呼叫DELETE,
document.write(req.responseText);這一句既是呼叫了Ajax,也是將刪除的test.html返回回來,如果刪除成功,那麼應該看到的是404的效果。
相關文章
- 禁用console
- 很多瀏覽器都禁用 java 列印了,java 專案還有哪些列印方式瀏覽器Java
- 禁用alert() 方法
- 禁用 Windows DefenderWindows
- js 禁用開發者工具、js 禁用列印 pdf All In OneJS
- TWITTER的禁用口令
- SELinux如何永久禁用Linux
- windows10如何禁用onedrive_windows10怎樣禁用onedriveWindows
- win10如何禁用windows更新_怎麼禁用win10更新Win10Windows
- win10 禁用usb儲存方法 win10 如何禁用usbWin10
- CentOS 8 禁用 SELinux 教程CentOSLinux
- IIS禁用自動回收
- 徹底禁用Windows更新Windows
- win10如何禁用win_windows10系統怎樣禁用win鍵Win10Windows
- 谷歌瀏覽器禁用JavaScript谷歌瀏覽器JavaScript
- flutter demo (二):禁用按鈕Flutter
- 成功的前端(紅色禁用)前端
- python logging日誌的禁用Python
- win10如何禁用crossproxy.exe_win10的crossproxy.exe怎麼禁用Win10ROS
- win10專業版手勢禁用方法_win10如何禁用手勢Win10
- win10如何禁用win鍵_win10電腦win鍵怎麼禁用Win10
- 如何禁用筆記本鍵盤 win10禁用筆記本自帶鍵盤筆記Win10
- Cookie 禁用了,Session 還能用嗎?CookieSession
- SpringBoot禁用命令列引數Spring Boot命令列
- Linux 上如何禁用 USB 儲存Linux
- 轉載 iptables 禁用與 解封ip
- 如何禁用埠!(網路摘錄)
- 火狐瀏覽器禁用快取瀏覽器快取
- jenkins 禁用指令碼安全性Jenkins指令碼
- 一加ace3 禁用更新
- win10 禁用CompatTelRunner.exeWin10
- win10怎樣禁用驅動簽名_如何禁用win10驅動簽名Win10
- win10系統plug and play怎麼禁用_win10系統plug and play如何禁用Win10
- w10已禁用ime怎麼解決_w10已禁用ime如何恢復
- win10如何禁用增強保護_win10怎麼禁用系統保護Win10
- win10 如何禁用前皮膚插孔檢測 win10禁用前皮膚方法Win10
- win10如何禁用前置音訊皮膚 win10怎麼禁用前置音訊Win10音訊
- win10 dwm程式怎麼禁用_win10系統dwm程式禁用操作步驟Win10