2015-01-15 2 views
0

У меня есть эта ссылка http://appflood.go2cloud.org/aff_c?offer_id=1724&aff_id=2593Как работает это перенаправление?

Это обеспечивает перенаправление на любой браузер в Android (Internal, Chrome, Firefox). Но он не перенаправляется на настольные браузеры.

И эта ссылка НЕ ​​МОЖЕТ быть обманута! Поэтому, если я изменю useragent на моем рабочем столе Firefox на строку, ТОЧНО, соответствующую строке мобильного телефона, я не могу перенаправить. Также, если я переключу любой из моих мобильных браузеров в режим рабочего стола, я все еще перенаправляюсь. Я могу обмануть ЛЮБОЙ из обычных методов обнаружения мобильных устройств, изменив UserAgent. Но я не могу обмануть эту ссылку.

Так что я предполагаю, что перенаправление основано не только на разборе UserAgent. Обратите внимание, что я использую свой мобильный телефон с Wi-Fi, который подключен к моему маршрутизатору. Таким образом, у телефона есть тот же внешний IP-адрес с моим настольным компьютером. это касается версии обнаружения IP-адресов беспроводного провайдера.

Итак, вопрос заключается в следующем: как это перенаправление работает и как я могу реализовать подобное.

+0

Нам нужно увидеть код для перенаправления :) – Devy

+0

Нормальный перенаправление, отправляя заголовок переадресации кода в браузер, например 301 или 302, а также отправляя местоположение для перенаправления. например, в php его [header («Местоположение: http://example.com/»);] – Devy

+0

Эта ссылка отправляет 302 на Android, но не отправляет 302 на рабочий стол. –

ответ

0

Использование curl из командной Bash строки:

$ 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 

И затем запрашивает переадресацию URL:

$ 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... 

Я вставил этот URL в Firefox 35.0 на Windows 7 (ноутбуком) и перенаправлять работал отлично.

Я не вижу здесь проблемы, если у вас нет кэшированных версий этих URL-адресов в браузерах на рабочем столе.

Редактировать # 1: Добавлены одинарные кавычки вокруг URL-адреса в команде curl, поэтому символ & заканчивает команду преждевременно.

Edit # 2: Я пытался tracert на appflood.go2cloud.org:

$ 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 сказал в комментарии ниже, что та же проблема была. Это может быть проблема региональной маршрутизации сети, поскольку я нахожусь в США, и она работает нормально.

+0

В командной строке не задавался URL-адрес вопроса. В нем есть амперсанд ('&'), который завершает команду и говорит 'bash' запускать ее в фоновом режиме. Обратите внимание, что это номер задания и его PID ('[1] 2784') перед выходом' curl''a. Поместите URL-адрес между кавычками или апострофами, чтобы проверить его правильно. – axiac

+0

@axiac: Хорошая точка. Позвольте мне попробовать еще раз и обновить свой ответ. –

+0

Отвечено обновлено. Результат был таким же из командной строки –

Смежные вопросы