我對Java中的MVC web應用程序有一個非常基本的問題。由於從原始JSP直到當前的技術像Seam,一個非常基本的模式始終是從控制器開始接受請求的內部分派到創建要發送給客戶端的輸出的視圖層。保護servlet應用程序中的內部視圖圖層模板頁面
此內部調度通常進行通過詢問servlet容器用於使用URL的新資源(儘管其機制可能通過配置的額外層被隱藏)。這些URL的映射是由同樣的web.xml完成的,該web.xml也定義了外部的「真實」URL。
除非採取特殊措施,否則通常可以直接直接訪問視圖圖層。見證Seam「註冊」演示,您可以繞過「register.seam」並直接轉到「registered.xhtml」。這是一個潛在的安全問題。至少,它泄露了視圖模板源代碼。
我知道,這只是一個基本的示例應用程序,但它也是奇怪的是,任何額外的措施需要採取申報看不見外面這些內部資源。
限制URL入口點的最簡單方法是什麼?
是否有可能像在「WEB-INF」目錄下,只能通過內部請求訪問的URL魔路徑組件?
OP已經提到「類似於WEB-INF」,所以我假設他知道它,但不想因爲某些原因使用它。 「安全約束」是最好的解決方案。 – BalusC 2010-01-12 02:44:15