zoukankan      html  css  js  c++  java
  • bugku | 你从哪里来

    题目链接

    之前一直以为要用x-forwarded-for ,谁道用的是referer,Orz.在此特地记录,x-forwarded-for 和 referer的区别


    X-Forwarded-ForXFF):用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。 

    格式如下:

    X-Forwarded-For: client1, proxy1, proxy2

    其中的值通过一个 逗号+空格 把多个IP地址区分开, 最左边(client1)是最原始客户端的IP地址, 代理服务器每成功收到一个请求,就把请求来源IP地址添加到右边。 在上面这个例子中,这个请求成功通过了三台代理服务器:proxy1, proxy2 及 proxy3。请求由client1发出,到达了proxy3(proxy3可能是请求的终点)。请求刚从client1中发出时,XFF是空的,请求被发往proxy1;通过proxy1的时候,client1被添加到XFF中,之后请求被发往proxy2;通过proxy2的时候,proxy1被添加到XFF中,之后请求被发往proxy3;通过proxy3时,proxy2被添加到XFF中,之后请求的的去向不明,如果proxy3不是请求终点,请求会被继续转发。鉴于伪造这一字段非常容易,应该谨慎使用X-Forwarded-For字段。正常情况下XFF中最后一个IP地址是最后一个代理服务器的IP地址, 这通常是一个比较可靠的信息来源。

    Referer : 是  HTTP  请求header 的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含  Referer  。比如我在www.sojson.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:

        Referer=https://www.sojson.com

    由此可以看出来吧。它就是表示一个来源,告诉服务器该网页是从哪个页面链接过来的。

    x-forwarded-for 和 referer的区别:我的理解是x-forwarded-for 用来证明ip的像是“127.0.0.1”这种,而referer是用来证明“域名”的


    orgin和referer的区别:

    origin主要是用来说明最初请求是从哪里发起的;
    origin只用于Post请求,而Referer则用于所有类型的请求;
    origin的方式比Referer更安全点吧。

  • 相关阅读:
    变量传递方法
    一些很好的话
    通过“任务计划”设置了计划任务后,到了预定时刻没有执行。这是怎么回事?
    结果集合并查询(union后不加all可去掉相同结果项)
    将SqlCe/sql server 转sqlite
    安装KB 2756920 SharePoint 2010无法工作
    适合新手的 Android 开发环境搭建(2) 安装及更新SDK
    在Internal Table 中使用AT FIRST , AT NEW, AT THE END OF , AT LAST, Sum
    Bex Analyzer 在 win 7 下无法登录sap gui 中新增的bw系统
    适合新手的 Android 开发环境搭建
  • 原文地址:https://www.cnblogs.com/chrysanthemum/p/11525094.html
Copyright © 2011-2022 走看看