91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何分析WEB-INF目錄

發布時間:2022-01-17 18:46:51 來源:億速云 閱讀:169 作者:柒染 欄目:大數據

如何分析WEB-INF目錄,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

Tomcat做為一個Web Container,最大的功能就是解析部署的WEB應用并給用戶響應。

常見的WEB應用,也稱為WAR文件

其中WEB-INF這個目錄比較特殊,做為WEB應用的安全目錄存在。Servlet規范是對此也有要求:

A special directory exists within the application hierarchy named “WEB-INF”.

This directory contains all things related to the application that aren’t in the document root of the application.

即所有與應用相關的,但又不能放到根目錄下的文件可以放在這里。

包含的內容大致有以下幾類:

  • web.xml

  • 對于servlet 3.0,支持其web-fragment.xml的聲明。

  • classes目錄,用于存放所有編譯過的應用的class文件

  • lib目錄,存放應用依賴的,第三方的jar文件。

對于WEB-INF目錄的訪問,規范中有如下約束

The Web application class loader must load classes from the WEB-INF/classes directory first, and then from library JARs in the WEB-INF/lib directory. Also, except

for the case where static resources are packaged in JAR files, any requests from the

client to access the resources in WEB-INF/ directory must be returned with a

SC_NOT_FOUND(404) response.

所以,所有從client端發起的,對WEB-INF目錄的直接請求(direct access),都必須返回404

這樣一來,我們一些需要保護的文件,就可以放到WEB-INF目錄下,而不用擔心被直接訪問到。例如前面文章中提到的Manager應用,其對用戶的訪問設置了BASIC的登錄驗證,而驗證需要的角色名稱,驗證方式,都是定義在web.xml中。如果WEB-INF目錄能夠被Client直接讀取,那就太不安全了。

但是,對于應用自身,存放在WEB-INF目錄下的文件仍然是需要訪問的。為此,ServletContext接口對外提供了兩個方法,方便使用。

  • getResource

  • getResourceAsStream

兩個方法都接收一個以/開頭的String類型的參數,用于獲取從WEB應用的根目錄下的所有資源,也包含WEB-INF目錄。

Now, show you the code.

在Tomcat中,對于WEB-INF的直接訪問保護,是如何實現的,

在StandardContextValve這個類中,Valve是Tomcat中的一個組件,譯過來叫,在一個Pipeline中可以使用多個不同類型的Valve,來實現對整個Pipeline的控制。這里的StandardContextValve,是StandardContext(代表常用的一個Web應用)默認配置的一個Valve,所以,對于應用的請求,都會流經這個閥,處理之后,再進行下面其它組件的處理,而StandardWrapper(代表Servlet)是Context的一個下級組件,所以會在ContextValue處理之后再處理,從而實現訪問控制。

而上面提到的ServletContext這個接口,是對外提供的一系列方法,用于和Servlet容器進行交互。

例如其除了暴露出getResource的接口外,還提供獲取絕對路徑的接口

getRealPath。

簡單總結為,WEB-INF目錄并不是WEB應用根目錄樹的一部分,其目錄下所有內容,對服務端可見,對Client端不可見。在服務端,可以通過ServletContext接口對外暴露的方法讀取。

看完上述內容,你們掌握如何分析WEB-INF目錄的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

会理县| 迁安市| 都兰县| 耒阳市| 腾冲县| 五原县| 莱阳市| 沂南县| 新建县| 横峰县| 青浦区| 建平县| 绥滨县| 门头沟区| 邢台市| 姚安县| 保康县| 汤原县| 同心县| 驻马店市| 大厂| 定远县| 赤壁市| 包头市| 浠水县| 长武县| 农安县| 九台市| 漠河县| 太仓市| 滁州市| 鄂托克旗| 微山县| 嘉善县| 孟州市| 咸宁市| 安丘市| 临湘市| 泗水县| 阿城市| 萨嘎县|