专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Java Web开发

求:过滤或屏蔽用户在地址栏输入URL来访问系统的方案解决办法

发布时间:2010-05-31 03:23:15 文章来源:www.iduyao.cn 采编人员:星星草
求:过滤或屏蔽用户在地址栏输入URL来访问系统的方案
问题:
  让用户只能通过系统提供的功能和操作点(如:按钮或热连接等)来进入页面,如果用户直接在地址栏输入URL,就不让他访问。
我的解决方案:
  1、在Filter里写request.getHeader("referer");判断是否为null,如果为null就不让进入。
  可以解决,但是有一个问题:如果一个连接,点击弹出一个新窗口,这个窗口就打不开了,因为这个窗口中的请求头没有referer属性。
  2、在首页用window.open("login.jsp","newwindow","...,location=no");然后window.opener=window;window.self.close();打开一个没有地址栏的页面,把原页面关闭,这样是让用户无法输入了。可是这样总有点让用户不爽,用户会看到新出来一个不熟悉的东西(没有地址栏的IE窗口),原来的又关闭了,挺出乎意料的。

求:
  有没有两全其美的好办法,在后台能发现这个请求是地址栏里输入的,又不会阻止正常的弹出窗口。

前提:
  不可以在每个页面里往request里存参数,因为那样做工作量太大,大量的页面需要一个一个往里加。

------解决方案--------------------
我觉得,对于楼主所说的用filter的解决方案就挺好,至于楼主说的弹出页面以及login页面的问题,可以在filter里做配置,即允许一些特殊的页面是没有referer的,比如首页,比如弹出窗口页等等。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: