如何禁止程序直接从浏览器输入url直接访问action?
用的框架是S2SH,怎么能够拦截,不让用户直接访问action。 不要说JSP放在web-inf下这种解决办法。其他的解决办法有吗?
------解决方案--------------------楼主是不是只允许在iframe内页访问,
如果是这样的话,可以在访问的页面用js简单处理一下。
[code=JavaScript]
<script>
window.onload = function(){
if(window.location == top.location){
alert('禁止访问');
window.self.close();
}
}
</script>
[/code]
------解决方案--------------------如果楼主不想别人直接通过url访问,那么重写URL吧。
------解决方案--------------------public class FilterUrl implements Filter{
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws
IOException,
ServletException {
HttpServletRequest request = (HttpServletRequest)arg0;
HttpServletResponse response =(HttpServletResponse)arg1;
String url = request.getRequestURI();
if(url.endsWith(".action")){
response.getWriter().print("<script>window.location.href="你的登录地址"</script>");
}else{
arg2.doFilter(arg0, arg1);
}
}
}
------解决方案--------------------不直接访问ACTION是指什么?
------------------------
用户必须通过你的链接来访问?建议:链接地址加一个KEY
还是你的ACTION还是屏蔽非登录用户?建议:这个不用说了吧,大家都懂!
------解决方案--------------------