Как работает этот редирект?

0

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

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

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

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

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

  • 0
    Нам нужно увидеть код для перенаправления :)
  • 0
    Обычное перенаправление работает, отправляя код перенаправления заголовка в браузер, например 301 или 302, а также отправляя местоположение для перенаправления. например в php его [header ("Location: example.com/");]
Показать ещё 5 комментариев
Теги:
redirect
mobile
user-agent

1 ответ

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, чтобы символ & завершил команду досрочно.

Редактировать # 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 вывод. Поместите URL между кавычками или апострофами, чтобы проверить это правильно.
  • 0
    @axiac: Хороший вопрос. Позвольте мне попробовать еще раз и обновить мой ответ.
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню