日期:2014-05-18  浏览次数:20615 次

如何处理用户改变地址栏的URL的参数
我写了一个web系统,遇到一个问题,页面之间跳转传参很多时候都是类似
http://192.168.0.23:8080/query.jsp?id=5这种方式,很多时候客户会把id=5改成6,7,8这种的来查询别人的记录,有没有不允许客户修改url的方法?请赐教。
我曾用过request.getHeader( "Referer ");来判断来源地址,但是因为系统中有很多类似于用javascript中的  
                        window.open( "query.jsp?id=5 ");        
                        location.href= "query.jsp?id=5 ";,
                        还有
                        response.sendRedirect( "query.jsp?id=5 ");
                        <jsp:forward       page= "query.jsp "       />
这些方法,用
request.getHeader( "Referer ");均为空,所以不行,求高手给个解决方法,谢谢

------解决方案--------------------
session中存储用户信息,到了显示页面判断该信息是否属于该用户,不是就不给看
------解决方案--------------------
这个是你权限有漏洞,仅仅靠不允许客户改URL还是不太严谨(即使做到了);如果可能的话,还是要完善一下权限控制。
------解决方案--------------------
顶,同意楼上的
------解决方案--------------------
你就不应该在地址栏里显示全部url

------解决方案--------------------
...
屏蔽右键