禁止通过地址栏直接访问后台 当用户登录系统后,如何禁止通过地址栏直接访问后台.如XXX.do或XXX.action 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把你的 页面 放到 web-inf下 在第一个JSP页面里面传一个Session,每个页面检验Session的值,根据Session的值重定向。 直接屏蔽URL地址栏,只能通过链接跳转 Struts 有没有能限制某个 url 只使用 post 方法的? 楼主直接写一个过滤器,在web.xml中配一下,网上的例子很多。 什么意思?楼主的意思貌似是 不让通过url来访问后台 控制层用的是什么,servlet?要是的话就好办了,不是的话就的写过滤器了,或是在没一个页面启动时判断一下迁移原画面是那个画面,(从request中就可以取到),如果不是指定的页面就不让画面启动。 可以啊,自定义ActionServlet,覆盖其中的doGet方法,直接抛出HTTP 403 用户已成功登录系统,session中已经保存了用户的信息,session过滤器什么的还能起什么用.... 用户已成功登录系统,session中已经保存了用户的信息,session过滤器什么的还能起什么用.... 用户已成功登录系统,session中已经保存了用户的信息,session过滤器什么的还能起什么用.... 用户已成功登录系统,session中已经保存了用户的信息,session过滤器什么的还能起什么用.... filter判断session取出来的User是否为空 先去学习一下什么是Get和Post 你们怎么这么不认真审题再回答我...再说一遍: 用户已成功登录系统,如何禁止通过地址栏直接访问后台??? session中已经成功保存了用户的信息,过滤器你能过滤什么呢?????? 你们怎么这么不认真审题再回答我...再说一遍: 用户已成功登录系统,如何禁止通过地址栏直接访问后台??? session中已经成功保存了用户的信息,过滤器你能过滤什么呢?????? 你们怎么这么不认真审题再回答我...再说一遍: 用户已成功登录系统,如何禁止通过地址栏直接访问后台??? session中已经成功保存了用户的信息,过滤器你能过滤什么呢?????? 呵呵,是啊,我也纳闷,都已成功登陆,过滤什么?用request.getHeader("referer")来判断 ...不要打击新手,虽然这样可以减少程序员的人数,以提高程序员的工资.但是这样不太好。除了屏蔽地址栏之外...很难有别的方法了。 按照楼主的意思。你原本是不想别人输入正确的路径访问你的后台系统吧?如果这样的话你可以做权限管理。没有授权的用户无法访问特点的url。url访问网站是透明的。即使不通过浏览器访问你的后台系统。那也可以以 socket的方式访问相应的url 楼主直接写一个过滤器,在web.xml中配一下,网上的例子很多。 +1 !能判断是不是合法用户,如果通过URL地址去访问,session里面就没有用户信息,这样用户就不是和法的登录,直接一个条跳转到登录页面就OK了! 个人意见 在登陆的JSP页面里面传一个Session,每个页面检验Session的值,根据Session的值重定向。 使用过滤器 或者 在jsp中使用session值来判断,个人推荐使用过滤器更加方便 LZ的问题很牵强。1.当用户登录系统后,如何禁止通过地址栏直接访问后台.如XXX.do或XXX.action,这句话难道 是可以通过地址栏直接访问jsp?如果这样做。大可以除了 首页,其他的都放在web-inf下,至于do,action的禁止,不可能的,你在jsp页面里只要有跳转那么就会更改地址栏的访问,即使你是iframe也是一样的道理,而且禁止这些访问没什么必要,你只要做好权限管理就可以了。2.一般的做法 禁止直接访问所有的jsp,包括首页。全部使用action,do的后台跳转访问。这样有利于业务逻辑的部署,最后控制action,do的访问权限。可以细粒度到 每一个方法 。具体的权限设置,不说了,回答很多次了。 晕很多人都没完全搞懂楼主的问题,悲哀。楼主的意思其实是 他将连接地址屏蔽了,但用户还是可以通过在地址栏输入连接来进行访问,这和把试图页面放在web-inf下没啥关系,关键是action他可以直接输入访问解决方案:1. 页面上,后台屏蔽地址栏显示,这个很好办,一般的系统都会这样做。2. 说到底这个是权限设计的问题,你拦截资源的url就行了。 要么自己写个小权限控制,或者已经有的spring security安全框架来做。关键是你的权限。一般权限设计,在表现层上 都是将不属于自己的权限的连接屏蔽掉不显示,在逻辑层面上,设计过滤器或者拦截器来对资源URL进行拦截,这些很多成熟的安全框架都已经有了。 我想问楼主、你怎么知道用户虽然已经登录过了,过滤器就不在能拦截非法的url?难道过滤器只可以判断用户是否登录这些东西?你自己写过没有?如果写了就粘出来我们看看吧、如果没有你怎么说明我们是错的? 前台用脚本把浏览器地址栏关了,后台只接受post方式。 41楼[magicluo]是个细心的程序员,这样的人才适合当程序员!!谢谢 [magicluo] 的建议!! 做个例证: 首先通过action 跳转到一个页面。此url:http://localhost:8080/personalPage/user/homePage?userName=lisi由于是post提交的方法所以到另一个页面的时候地址栏变为:http://localhost:8080/personalPage/user/homePage这个地址栏中就缺少userName这参数 那么用户直接访问http://localhost:8080/personalPage/user/homePage这个地址可以直接和后台交互。问题出来了,前一个有参数后一个没参数 跳的是同一个页面,页面的值就会产生变化。要解决的问题就是 当他访问跳转后的地址 时候 页面保持不变。 求助:NoClassDefFoundError和ClassNotFoundException Spring整合hibernate-关于事物配置(无法回滚) 问题 不执行js代码,简单求解 求教!<s:iterator>无法显示出来的问题! springMVC整合hibernate配置出错 hibernate入门问题 那里有struts的源代码 40分 高分求救!!一个struts的问题!!马上揭贴!! log4j 发生死锁,导致服务器荡机 最近弄spring_security3进行权限管理,但是数据库URL模糊匹配有点问题 java有文件夹上传么
先去学习一下什么是Get和Post
再说一遍: 用户已成功登录系统,如何禁止通过地址栏直接访问后台???
session中已经成功保存了用户的信息,过滤器你能过滤什么呢??????
再说一遍: 用户已成功登录系统,如何禁止通过地址栏直接访问后台???
session中已经成功保存了用户的信息,过滤器你能过滤什么呢??????
再说一遍: 用户已成功登录系统,如何禁止通过地址栏直接访问后台???
session中已经成功保存了用户的信息,过滤器你能过滤什么呢??????
除了屏蔽地址栏之外...很难有别的方法了。 按照楼主的意思。你原本是不想别人输入正确的路径访问你的后台系统吧?如果这样的话你可以做权限管理。没有授权的用户无法访问特点的url。url访问网站是透明的。即使不通过浏览器访问你的后台系统。那也可以以 socket的方式访问相应的url
个人意见
个人推荐使用过滤器更加方便
1.当用户登录系统后,如何禁止通过地址栏直接访问后台.如XXX.do或XXX.action,这句话难道 是可以通过地址栏直接访问jsp?如果这样做。大可以除了 首页,其他的都放在web-inf下,至于do,action的禁止,不可能的,你在jsp页面里只要有跳转那么就会更改地址栏的访问,即使你是iframe也是一样的道理,而且禁止这些访问没什么必要,你只要做好权限管理就可以了。
2.一般的做法 禁止直接访问所有的jsp,包括首页。全部使用action,do的后台跳转访问。这样有利于业务逻辑的部署,最后控制action,do的访问权限。可以细粒度到 每一个方法 。具体的权限设置,不说了,回答很多次了。
2. 说到底这个是权限设计的问题,你拦截资源的url就行了。 要么自己写个小权限控制,或者已经有的spring security安全框架来做。关键是你的权限。一般权限设计,在表现层上 都是将不属于自己的权限的连接屏蔽掉不显示,在逻辑层面上,设计过滤器或者拦截器来对资源URL进行拦截,这些很多成熟的安全框架都已经有了。
谢谢 [magicluo] 的建议!!
由于是post提交的方法所以到另一个页面的时候地址栏变为:
http://localhost:8080/personalPage/user/homePage
这个地址栏中就缺少userName这参数 那么用户直接访问http://localhost:8080/personalPage/user/homePage
这个地址可以直接和后台交互。问题出来了,前一个有参数后一个没参数 跳的是同一个页面,页面的值
就会产生变化。
要解决的问题就是 当他访问跳转后的地址 时候 页面保持不变。