防止用户直接访问有关jsp页面的几种办法

时间:2021-11-24 17:12:55
防止用户直接访问jsp页面的几种办法:
 

1.把JSP页面放在WEB-INF目录下,存放在此目录或者它的子目录里的任何东西都受到了保护。

不过,不太推荐,因为并非所有的容器都具有这种保护机制,例如WebLogic就做不到这一点。


 2.使用servlet过滤器来过滤对jsp页面的请求。


 3.在部署文件web.xml中使用安全限制.这个比过滤器容易,不用另外编写一个过滤器了.配置如下:

<security-constraint>
   <web-resource-collection>
       <web-resource-name>JSPs</web-resource-name>
       <url-pattern>/web/*</url-pattern><!-- 拒绝直接访问web文件夹下的所有页面 -->
   </web-resource-collection>
   <auth-constraint/>
</security-constraint>
 
<login-config>
   <auth-method>BASIC</auth-method><!-- 验证方式(BASIC/FORM) -->
</login-config>


 <web-resource-name>QNJYZXT</web-resource-name><!--QNJYZXT为包含资源的文件名(可以使项目名称)-->
<url-pattern>/web/*</url-pattern><!-- 拒绝直接访问web文件夹下的所有页面 -->

还可以设置限制访问角色

JSP页面中限制对 Web 资源的访问》这篇文章中有介绍