非法链接和重定向

来源:互联网 发布:淘宝数码宝贝大师 编辑:程序博客网 时间:2024/05/22 06:52

HttpServlet的HttpServletRequest和HttpServletSponse的案例

一、非法链接

去csdn,下载按钮,弹出一个广告页面,点击页面的连接才可以访问下载页面

 进入下载页面,必须通过广告页面才可以进来!!!

如果是浏览器地址栏直接访问下载页面,告知“非法连接,回到广告页面”

解决的技术点

  请求头的Referer

1.         

                //得到Referer请求头

String referer = request.getHeader("Referer");

System.out.println("从哪个页面过来:"+referer);
/**
* 非法请求的情况:
* 如果referer为null,表示该请求直接地址栏访问的
* 如果referer不包含adv.html信息,表示不是从广告页面过来的
*/
if(referer==null || (referer!=null && !referer.contains("adv.html")) ){
response.getWriter().write("你是非法连接,请从广告页面进来。<a href='adv.html'>去广告页面</a>");
}else{
response.getWriter().write("正在下载中.....");
}

二、重定向

技术点

 响应类HttpServerSponse的location和状态码30实现重定向

 1.使用方式:

    setHeader("location","页面路径");
    setStatus(302)

2.浏览器识别到302的状态码之后,浏览器需要重新再发一次请求。请求地址是Location的地址:页面路径(例如:/ContactWeb/add)


0 0