為了更好地保護你的jsp避免未經授權的訪問和窺視, 乙個好辦法是將頁面檔案存放在web應用的web-inf目錄下。
通常jsp開發人員會把他們的頁面檔案存放在web應用相應的子目錄下。乙個典型的商店應用程式的目錄結構如圖2所示。跟catalog (商品目錄)相關的jsp被儲存在catalog子目錄下。跟customer相關的jsp,跟訂單相關的jsp等都按照這種方法存放。
這種方法的問題是這些頁面檔案容易被偷看到源**,或被直接呼叫。某些場合下這可能不是個大問題,可是在特定情形中卻可能構成安全隱患。使用者可以繞過struts的controller直接呼叫jsp同樣也是個問題。
為了減少風險,可以把這些頁面檔案移到web-inf 目錄下。基於servlet的宣告,web-inf不作為web應用的公共文件樹的一部分。因此,web-inf 目錄下的資源不是為客戶直接服務的。我們仍然可以使用web-inf目錄下的jsp頁面來提供檢視給客戶,客戶卻不能直接請求訪問jsp。
採用前面的例子,圖3顯示將jsp頁面移到web-inf 目錄下後的目錄結構
這個方法在任何情況下都不失為struts實踐中的乙個好方法。是唯一要注意的技巧是你必須把jsp和乙個struts action聯絡起來。即使該action只是乙個很基本的很簡單jsp,也總是要呼叫乙個action,再由它呼叫jsp。
最後要說明的是,並不是所有的容器都能支援這個特性。weblogic早期的版本不能解釋servlet宣告,因此無法提供支援,據報道在新版本中已經改進了。總之使用之前先檢查一下你的servlet容器。
如何保護你的API
rest api架構越來越多的被使用。當你設計了乙個post方法的api時,該api暴露出來後可能被人找到,並進行惡意資料的提交。怎麼解決這個被惡意提交的問題呢?首先想到的是可以要求客戶在提交引數時,將驗證資訊加上如 使用者名稱 密碼。就像下面的資料結構一樣使用者每次提交資料都加上kid 相當於使用...
如何理解jsp頁面中的「 」?
通常情況下,瀏覽器會從當前文件的 url 中提取相應的元素來填寫相對 url 中的空白。使用 標籤可以改變這一點。瀏覽器隨後將不再使用當前文件的 url,而使用指定的基本 url 來解析所有的相對 url。這其中包括 注釋 標籤必須位於 head 元素內部。原文如下 我們在用ide工具生成jsp頁面...
如何保護你的數字資產隱私?
通常,位元幣 以太坊等數字貨幣被認為是匿名的。但事實上,這些用區塊鏈技術實現的數字貨幣體系可能是世界上最透明的支付網路。如果使用不當,你的數字資產情況並無私隱可言。首先,讓我們了解數字貨幣的溯源性。數字貨幣為其交易記錄提供了空前的透明度,以致於大部分的人還沒有適應這樣的機制。所有的數字貨幣交易都是公...