首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

怎么禁止程序直接从浏览器输入url直接访问action

2012-09-24 
如何禁止程序直接从浏览器输入url直接访问action?用的框架是S2SH,怎么能够拦截,不让用户直接访问action。

如何禁止程序直接从浏览器输入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还是屏蔽非登录用户?建议:这个不用说了吧,大家都懂!
[解决办法]

探讨
除非你禁止所有action的GET请求,只允许POST请求,否则不行。

热点排行