我有这个链接 http://appflood.go2cloud.org/aff_c?offer_id=1724&aff_id=2593
它在Android(内部,Chrome,Firefox)中的任何浏览器上提供重定向。 但它不会在桌面浏览器上重定向。
此链接不能被愚弄!因此,如果我将桌面Firefox中的useragent更改为与手机字符串完全匹配的字符串,我就无法重定向。 此外,如果我将任何移动浏览器切换到桌面模式,我仍然会被重定向。 我可以通过更改UserAgent来欺骗任何常见的移动检测方法。但我不能欺骗这个链接。
所以我认为重定向不仅仅基于解析UserAgent。 请注意我使用带有wifi的手机,它连接到我的路由器。因此,手机与我的台式电脑具有相同的外部IP。它是关于检测无线ISP的IP的版本。
所以,问题是:这个重定向的工作原理以及如何实现类似的。
答案 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和域名,以及为了简洁而无数超时)