zoukankan      html  css  js  c++  java
  • JSP用referer能保证页面不被“盗链”吗?

     

    我的答案是:不能保证。

    referer是浏览器请求一个页面时所附带的一个参数,这个参数也就是告诉了服务器你是从哪里链接过来的。

    在你的浏览器的页面上点击了一个指向一个页面的超链接的时候,浏览器就会向web服务器发送request,

    request的请求数据包中就会包涵了referer参数。

    request的数据包结构:

    <input type="ifream" height="200" width="300" src="http://blog.csdn.net/scnu_xiaokun/article/details/4065186" />

    通常我们都是通过request.getParameter("referer")来获得referer参数的值,然后判断referer是否是本网站的网址或者为空,如果不是则response.setStatus(404)来禁止盗链的。

    <%

        String mess=request.getParameter("referer");

        if(mess==null )

        {

            mess="";

            response.setStatus(404);

        }

        if(!(mess.startWith(http://127.0.0.1:8080))

            response.setStatus(404);

    %>

    为什么referer不能保证页面被盗链呢?那就是request数据包能够被伪造!!!

    参照request包的格式进行伪造就行了。

    伪造了怎么解决referer参数值的问题?

    这个需要花点点时间去发现啦,先试试用下它的网站的域名或者IP,不行再详细进行尝试。从地址栏可能会得到页面的所在目录的。

    更直接的是直接把超链接所在的网页的地址拿下了就行了。

  • 相关阅读:
    字符编码及文件处理
    列表、元祖、字典及集合的内置方法
    数字类型、字符串及列表的内置方法
    流程控制(if while for)
    一些基本概念及数据类型
    编程语言的发展及变量
    python 入门基本知识
    叁拾贰(转)
    叁拾壹
    叁拾
  • 原文地址:https://www.cnblogs.com/lbangel/p/3066205.html
Copyright © 2011-2022 走看看