【问题标题】:Who Add "_" Single Underscore Query Parameter?谁添加“_”单下划线查询参数?
【发布时间】:2011-04-10 21:43:46
【问题描述】:

我有一个在 Apache 上运行的 PHP 服务器,我收到了很多这样的请求,

10.1.1.211 - - [02/Sep/2010:16:14:31 -0400] "GET /request?_=1283458471913&action=get_list HTTP/1.1" 200 547 0 "http://www.example.com/request" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729)" 28632 15602

_ 参数被神秘地添加到请求中。我正在试图找出是谁在这样做。

Apache 前面有一个 NetScaler 运行。

【问题讨论】:

  • 为什么 IP 10.1.1.211 是路由器/调制解调器提供的本地 IP 对?
  • @RobertPitt 可能是 NetScaler 上游的 IP?
  • oki 只是想知道,从未使用过 NetScaler

标签: php javascript ajax apache http


【解决方案1】:

Ajax 工具,如 jQuery,能够要求浏览器不要缓存请求的结果,因此来自加载网页的每个请求都会到达 Web 服务器并获得最新的响应。

为了实现这一点,请将cache 标志设置为false,然后在请求URL 中附加一个额外的查询参数,如_=1234567890。当然这个数字一直在变化,所以浏览器认为这是一个全新的请求,不会提供任何缓存的东西。

【讨论】:

    【解决方案2】:

    jQuery 添加了一个类似的参数来绕过 IE 的缓存。

    编辑: 它只将其添加为GET请求,并且只有选项缓存为false:

    cache: false
    

    【讨论】:

    • 我确实使用 jQuery,但它不会出现在每个请求中。
    • 您是否使用了一些 ajax 调用来指定 nocache 属性?只有当它是 GET 请求时才会添加它。请参阅下面的 jQuery 代码 if(s.cache === false && type == "GET")
    • 我的页面上只有一个 AJAX 调用,并且我确实设置了 nocache 属性。但是,有些请求没有该参数。
    • 请注意,如果数据类型为'script''jsonp',则选项cache 默认为falseapi.jquery.com/jQuery.ajax
    • 是的,它只是破坏了我对不接受任何额外内容的银行 API 的请求。它像“Surprise MotherF#$&@!”这样不知从何而来。 -_-
    【解决方案3】:
    【解决方案4】:

    1283458471913 是以毫秒为单位的 unix 时间戳,可能是一个机器人/代理,以确保它们获得一个新页面而不是缓存版本。

    也可能是 jQuery,这会导致您将 nocache 属性设置为 true 的 AJAX 请求。

    if ( s.cache === false && type == "GET" ) {
        var ts = now();
        // try replacing _= if it is there
    
        var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2″);
        // if nothing was replaced, add timestamp to the end
    
        s.url = ret + ((ret == s.url) ? (s.url.match(/\?/) ? "&" : "?") + "_=" + ts : "");
    }
    

    【讨论】:

      【解决方案5】:

      可能是反向代理添加的一个虚拟参数,用于强制提供非缓存内容。

      【讨论】:

        猜你喜欢
        • 2013-02-03
        • 2015-01-10
        • 2014-10-25
        • 2012-05-19
        • 2014-04-05
        • 2018-07-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多