这种重定向如何工作?

时间:2015-01-15 13:31:09

标签: php redirect mobile user-agent

我有这个链接 http://appflood.go2cloud.org/aff_c?offer_id=1724&aff_id=2593

它在Android(内部,Chrome,Firefox)中的任何浏览器上提供重定向。 但它不会在桌面浏览器上重定向。

此链接不能被愚弄!因此,如果我将桌面Firefox中的useragent更改为与手机字符串完全匹配的字符串,我就无法重定向。 此外,如果我将任何移动浏览器切换到桌面模式,我仍然会被重定向。 我可以通过更改UserAgent来欺骗任何常见的移动检测方法。但我不能欺骗这个链接。

所以我认为重定向不仅仅基于解析UserAgent。 请注意我使用带有wifi的手机,它连接到我的路由器。因此,手机与我的台式电脑具有相同的外部IP。它是关于检测无线ISP的IP的版本。

所以,问题是:这个重定向的工作原理以及如何实现类似的。

1 个答案:

答案 0 :(得分:0)

使用Bash命令行中的curl

$ curl -i 'http://appflood.go2cloud.org/aff_c?offer_id=1724&aff_id=2593'
HTTP/1.0 302 Moved
Location: http://10.42.217.107:15871/cgi-bin/blockpage.cgi?ws-session=356106294
Pragma: no-cache
Cache-Control: no-cache

然后请求重定向网址:

$ curl -i 'http://10.42.217.107:15871/cgi-bin/blockpage.cgi?ws-session=356106294'
HTTP/1.0 200 OK
Content-Length: 800
Content-Type: image/gif

GIF87a...

我将此网址粘贴到Windows 7(笔记本电脑)上的Firefox 35.0中,重定向工作正常。

我不会在这里看到问题,除非您在桌面浏览器上缓存了这些网址的版本。

编辑#1:在curl命令中围绕URL添加单引号,以便&字符提前结束命令。

编辑#2:我在appflood.go2cloud.org上尝试了tracert

$ tracert appflood.go2cloud.org

Tracing route to appflood.go2cloud.org [54.175.84.195]
over a maximum of 30 hops:

   1     4 ms     1 ms     1 ms  <Internal Domain Name/IP>
 ...    ...      ...      ...    ...
  12    25 ms    25 ms    36 ms  198.71.46.9     (Ann Arbor, Michigan, USA)
  13    26 ms    26 ms    25 ms  72.21.220.29    (Amazon.com, Seattle, Washington, USA)
  14    26 ms    26 ms    26 ms  205.251.245.224 (Amazon.com, Seattle, Washington, USA)
  15     *        *        *     Request timed out.
 ...    ...      ...      ...    ...
  30     *        *        *     Request timed out.

(我省略了内部IP和域名,以及为了简洁而无数超时)

@axiac在下面的评论中说,同样的问题正在发生。这可能是一个区域网络路由问题,因为我在美国并且它工作正常。