问题

servlet中使用request.getHeader("referer")获取页面从哪跳转过来的,利用这个方法可以判断网页是否正常登录。我做了一个javaweb小项目,其中有登录的jsp页面,当登录成功的时候会跳转到successServlet去执行其他功能,但是这样有一个安全功能,如果有人直接跳过登录界面而直接访问successServlet的话,也会使用我的功能,这样就算没登录也能使用其他功能

解决方法

可以在successServlet中判断是否是从登录界面跳转过来的,而要想判断,需要获取从哪跳转过来的页面url,这时就可以使用request.getHeader("referer"),判断如果是从登录界面跳转的,就正常访问,如果不是就转发到登录界面。

if("https://localhost:8080/webcase/login.jsp".equals(request.getHeader("referer"))){
//正常使用功能
}else{
//转发到登录界面
}

servlet中使用request.getHeader("referer")获取页面从哪跳转过来的的更多相关文章

  1. 此时servlet中的request和我们在页面jsp中的request 是同一个request.

    在tomcat容器启动的时候,jsp页面的内置对象request,response,同样是依赖于tomcat容器中的servlet-api.jar包,这个jar包和我们在web项目中的jar包是一样的 ...

  2. web页面防盗链功能使用--request.getHeader("Referer")

    使用Request对象设置页面的防盗链 所谓的防盗链就是当你以一个非正常渠道去访问某一个Web资源的时候,服务器会将你的请求忽略并且将你的当前请求变为按正常渠道访问时的请求并返回到相应的页面,用户只有 ...

  3. request.getHeader("Referer")理解【转载】

    request.getHeader("Referer")用于获取来源页地址,但有时却为空值,这是怎么回事.原因如下: getHeader("Referer")要 ...

  4. 【JS】【5】request.getHeader("referer")的作用

    正文: request.getHeader("referer"):获取来访者地址 注意:只有通过链接访问当前页的时候,才能获取上一页的地址,以下情况是获取不到值的: 只有通过链接访 ...

  5. request.getHeader("referer")

    在开发web程序的时候,有时我们需要得到用户是从什么页面连过来的,这就用到了referer. 它是http协议,所以任何能开发web程序的语言都可以实现,比如jsp中是: request.getHea ...

  6. servlet request getHeader(“x-forwarded-for”) 获取真实IP

    request方法客户端IP: request.getRemoteAddr() 输出:192.168.0.106 客户端主机名:request.getRemoteHost()输出:abc reques ...

  7. 7:servlet request getHeader("x-forwarded-for") 获取真实IP

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了 Apache,Nagix等反向代理软件就不能获取到客户端的真实 ...

  8. Servlet中的request对象、重定向和转发的差别(6)

    1.这里所说的request对象指的是HttpServletRequest对象,它代表client的请求,当client通过HTTP协议訪问server时.HTTP请求头中的全部信息都封装在这个对象中 ...

  9. JavaWeb(一)Servlet中的request与response

    一.HttpServletRequest概述 1.1.HttpServletRequest简介 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP ...

随机推荐

  1. P4语言环境安装(一)前端编译器p4c、后端编译器p4c-bm2-ss

    这个P4安装环境是在2020-2-8安装的,安装环境卡了我好几天,把遇到的问题记录下来,有需要的同学可以参考一下,要是说错了或者有问题的话,评论或mail:guidoahead@163.com联系我都 ...

  2. ubuntu-14.04.6配置IP

    配置环境与要求: 网卡列表如下: eth0:DHCP模式 eth1:静态模式 网络概况与要求: 192.168.2.0/24为外网(获取网络资源) 10.5.1.0/24为内网(终端服务管理) 系统默 ...

  3. ros中坐标系管理系统

    首先安装小海龟实例的功能包ros-melodic-turtle-tf  qqtsj  ~  sudo apt install ros-melodic-turtle-tf [sudo] qqtsj ...

  4. ros机器人之动作(二)

    前面我们实现了动作的定义,接下来实现动作的功能 实现一个基本的动作服务器 准备好所需的动作定义后就可以开始编写代码了.动作和话题一样,都是使用回调机制,即回调函数会在收到消息时被唤醒和调用. 例:si ...

  5. windows下编译LUA-cjson

    下载地址:http://www.kyne.com.au/~mark/software/lua-cjson.php 编译环境:win7 + MINGW 修改下载得到的lua-cjson-2.1.0.zi ...

  6. Day of Week

    题目1043:Day of Week 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1544 解决:609 题目描述: We now use the Gregorian style of ...

  7. mplayer使用心得[转]

    一直在用mplayer,其他的播放器很少用.以下是我使用过程中的一些心得.  注意,下面用的路径都是在我的电脑上的路径,使用时请不要照抄!应该换成你的电脑上的正确路径.  一.首先还是讲安装方面的问题 ...

  8. MySQL初次安装配置及修改密码

    安装前的准备工作: 下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\mysql-8.0.11 下. 接下来我们需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 ...

  9. Asp.Net Core Identity 骚断腿的究极魔改实体类

    前言 默认的 Identity 实体类型在大多数时候已经基本够用,很多时候也只是稍微在 IdentityUser 类中增加一些自定义数据字段,比如头像.这次,我要向园友隆重介绍我魔改之后的 Ident ...

  10. HDU_1175_dfs

    http://acm.hdu.edu.cn/showproblem.php?pid=1175 dfs(x,y,i,num),xy表示位置,i表示方向,num表示转向次数,num=2时候的剪枝很重要. ...