隐藏jsp资源

本文介绍如何防止JSP页面被直接访问的方法,包括将JSP放置于WEB-INF目录下、使用过滤器重定向以及通过web.xml配置限制访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所有的访问请求都应该发送到servlet,并通过servlet间接的访问jsp。jsp页面不应该允许直接访问。有几种方法可以保护jsp页面不会被直接访问到。
1,把jsp页面放到WEB-INF目录下,这样一来,即使用户通过浏览器直接输入把些jsp页面的URL地址也无法访问到它们。但是该方法在不同服务器中有不同的效果。
2,用过滤器保护那些没有存放在WEB-INF目录里的JSP页面。只要把以.jsp结尾的URL全部重定向到用户页面去就行了。

3,通过web.xml文件里的security-constraint元素把所有的JSP页面者保护起来,只允许那些是特定的合法角色的用户访问它们。
<security-constraint>
<web-resource-collection>
<web-resource-name>Direct Access to Jsps</web-resource-name>
<url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>none</role-name>
</auth-constraint>
</security-constraint>


以上代码不允许任何直接访问JSP页面。只有none角色的用户才能访问以.jsp结尾的URL,也就是说,如果没有一个用户是这个角色,那就没人能够直接访问这些JSP页面。

也可以定义多个目录
<security-constraint>
<web-resource-collection>
<web-resource-name>Direct Access to Jsps</web-resource-name>
<url-pattern>/demo0/*</url-pattern>
<url-pattern>/demo1/*</url-pattern>
<url-pattern>/demo2/*</url-pattern>
<url-pattern>/demo3/*</url-pattern>
</web-resource-collection>
<auth-constraint/>
</security-constraint>

*<auth-constraint/>表示没有用户可以访问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值