WEB-INF目录防止通过URL直接访问页面

时间:2021-10-08 17:15:17

       WEB-INF是Java的web应用安全目录,只对服务端开放,对客户端是不可见的。所以我们可以把除首页(index.jsp)以外的页面都放在WEB-INF目录下,这样就无法通过URL直接访问页面了。


核心:

1,超链接a标签或者jswindow.location.href()无法访问WEB-INF下的某一个jsp页面。

javascrtpt:window.location.href='WEB-INF/login.jsp'

<a href="login.jsp"></a>

response.sendRedirect("WEB-INF/checklogin.jsp");


以上三种都不行。


2,cssjavascript和图片等资源文件不能放在WEB-INF,必须放在webRoot(WebContent)目录下

WEB-INF目录防止通过URL直接访问页面

访问时直接访问:

<img alt="" src="image/1.jpg">


3,除首页(index.jsp)外的JSP页面都放在WEB-INF目录下。


4,通过以下方法访问WEB-INF目录下的JSP页面:

     a,通过action转向访问(推荐)

<a href="mylogin.action"></a>


     b,不推荐

<jsp:forward page = "/WEB-INF/admin/login.jsp" />  
      
    <a href="javascript:<jsp:forward page='WEB-INF/admin/login.jsp'/>"></a>  
      
    <jsp:include page="WEB-INF/admin/login.jsp">