一位联盟营销人员最近开始向我的网站发送奇怪的流量。
1) 访问者在会员的特殊位置访问我的网站,该网站执行 302 重定向到该网站的主页。
2)访问者跟随重定向到网站的主页,在那里他们被提供另一个 302 重定向,然后消失。
以下是日志的具体外观:
www.example.com 74.197.XX.XXX - - [20/Aug/2009:16:15:28 -0400] "GET /go HTTP/1.1" 302 298 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Zune 2.0)"
www.example.com 74.197.XX.XXX - - [20/Aug/2009:16:15:28 -0400] "GET / HTTP/1.1" 302 460 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Zune 2.0)"
当我亲自访问第一个 URL 时,我会被重定向,然后当我获得主页时,我会获得常规的 HTML 内容,然后下载所有常见的页面资源(js/css/images 等)。
但是这些访问者,并且有数百个都具有不同的 ip 地址和用户代理等,都遵循这种奇怪的模式,即两个 302 重定向然后噗。
根据一些访问的推荐人,流量的来源看起来很糟糕。您典型的弹出式BS。
我主要关心的是,第二个 302 重定向对这些“访问者”有何影响?为什么我的服务器执行 302?
代码中唯一会导致从主页发生 302 重定向的情况是访问者禁用了 cookie。但在这种情况下,由于“此站点以永远不会完成的方式重定向”问题,我会在浏览器超时之前看到一系列请求。(基本上,如果我没有看到他们有网站 cookie,他们会被重定向到“刷新”会话,然后让我看到 cookie。)
无论如何,像这样进来的所有 300 多名访问者都不太可能禁用 cookie。
是否有任何外部影响可能导致我的服务器进行重定向?无论如何配置apache日志记录以包括302指向的位置?
我不知道为什么你会得到第二个 302,但我可以帮你记录。
您可以尝试使用 LogFormat 中的格式字符串
%{Location}o
来记录 Location 响应标头的值。您可能想要使用“%>s”而不是“%s”来获得最终状态,或者同时使用两者。如果您可以在生成 302 响应时设置 REDIRECT 环境变量,则可以通过将“env=REDIRECT”附加到 CustomLog 指令来将重定向日志中的条目限制为仅重定向响应。
是否有使用大牌浏览器的重定向访问者?