Как работает редирект в экшине GET/POST?

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 915
Реакции
2 666
Баллы
113
Здравствуйте!
Хочу прояснить для себя логику работы экшина GET с установленной галочкой редирект.
кукии.png

Допустим отправляю я запрос на страничку сайта https://site.ru
Сайт возвращает в заголовках ответ 302 и устанавливает куки, после чего перенаправляет на страничку https://site.ru/1.php, которая также возвращает 302 редирект, но уже не устанавливает куки, но перенаправляет на страничку https://site.ru/2.php которая уже возвращает ответ 200 и выдает контент + куки.

Примерная схема:
пример-схема.png

Так вот собственно вопрос - установленная галочка в данном экшине гарантирует, что Зеннопостер найдет эти куки и использует их при отправке запроса на url на который перенаправляет 302 редирект?

Или если есть необходимость чтобы в процессе использовались данные куки - значит необходимо снимать галочку с редиректа, ловить ответ в переменную, самостоятельно извлекать оттуда куки, устанавливать их и уже тогда отправлять запрос на url на который перенаправляет 302 редирект?

---

Также хочу обратить внимание на заголовок Host: site.ru
Когда проект выполняется в браузере - данный заголовок есть (смотрю в мониторинг трафика)
Когда запрос отправляется через экшин GET - данного заголовка нет.
На некоторых сайтах когда его указывал в поле ниже юзер-агента - все отрабатывало отлично (хотя в мониторинге трафика я его не видел).
Но, встретился с ситуацией, когда в браузере сайт работает, а при отправке запроса экшином GET сразу же 403 ошибка (доступ запрещен), хотя отличие в запросах браузера и теми которые отправляю экшином GET только в заголовке Host.

Отсюда выходит второй вопрос - экшин GET самостоятельно берет домен с URL на который мы отправляем запрос и формирует Host и дополнительные действия с нашей стороны не требуются, или же необходимо его передавать в каком-то конкретном виде, чтобы он отображался корректно в мониторинге трафика?
 
Последнее редактирование:
хост подхватывает сам, раньше куки при редиках не подхватывались точно, сейчас не знаю точно. Через монитор лучше траф не смотреть. Какой-нибудь фиддлер будет лучше
 
  • Спасибо
Реакции: BAZAg
Тоже сталкивался с подобным, не углублялся. Хз как там происходит.
Ставь фиддлер, настрой там в нем сертификаты для https для норм работы. Ну и прокси в проекте поставь http://127.0.0.1:8888 , чтобы через фидлер все полностью шло. Если надо внешний прокси, то там уже в фидлере можно прописать руками (Options - Gateway).
Я искал альтернативы для гет-запросов в зенке с автоматическим сохранением\передачей всего набора кукис, так пока на xNet остановился, вроде получается методом тыков работать с ней. Но эта библиотека больше не обновляется, сайт автора с документацией пропал, по форумах программистских мало инфы. Надо будет тут поделиться методами извлечения, редактирования базы кукис в xNet, а то у меня скоре-всего через попу все, может кто подправит, практики вроде есть на форуме http://zennolab.com/discussion/threads/besplatnye-snipety-na-zakaz.23450/page-22#post-256493.
 
  • Спасибо
Реакции: BAZAg
Фиддлер стоит...
В нем показывает, что Host передается что браузером что экшином GET.
Но в мониторинге трафика при отправке GET - Host не отображается.
Если бы не перебрасывало на 403 то я бы особо не заморачивался (до этого момента не видел разницы что он есть, что его нет...).

Я тут подумал, что если уж мониторинг трафика не видит этого заголовка, то возможно и сайт его не видит (фиддлер может быть знает что там всегда должен быть этот заголовок и рисует его самостоятельно...).

С внешними библиотеками возможно можно работать, но они вызывают у меня еще больше вопросов на которых сложнее найти ответы.
А используя стандартные функции Зеннопостера как минимум можно зайти сюда на форум, спросить и получить ответ...

Впрочем указываю сейчас заголовок Host в поле для ввода User-Agent, но не уверен, что это правильно...
Я просто вот что думаю, если домен сайта www.domen.ru например, то хост автоматически будет именно www.domen.ru, а возможно сайт в этом случае желает получить просто domen.ru.

По поводу галочки редиректа - то видимо куки все же не подхватываются и есть смысл снимать её и имитировать всю цепочку запросов...
Хотя, не плохо было бы, чтобы они подхватывались и присоединялись к кукам, которые установил пользователь...

И совсем не по делу, но заметил следующий момент - когда загружается страничка в браузере, то параллельно с HTML страничкой отправляется еще несколько запросов, которые подгружают CSS + JS.
Так вот, когда я (после создания этой темы) начал перед ключевым запросом отправлять два запроса на загрузку CSS + JS (чисто заголовки и в дальнейшем ничего не брал с переменных в которые сохранился результат), после чего уже делаю ключевой запрос (который собственно мне и нужен) из снятой галочкой "редирект", после чего самостоятельно выстаскиваю куки и делаю последний запрос на получение контента - то все отрабатывает как часы и на 403 не перебрасывает...

Собственно уже на фоне этого делаю вывод, что если на сайте стоят скрипты от BLAZINGFAST - то есть смысл отправлять запросы ко всем скриптам и CSS, так как эта штука видимо проверяет очередность загрузки контента, и если она не совпадает с каким-то эталоном - перенаправляет на ошибку 403.
 
  • Спасибо
Реакции: orka13
Фиддлер стоит...
В нем показывает, что Host передается что браузером что экшином GET.
Но в мониторинге трафика при отправке GET - Host не отображается.
Если бы не перебрасывало на 403 то я бы особо не заморачивался (до этого момента не видел разницы что он есть, что его нет...).

Я тут подумал, что если уж мониторинг трафика не видит этого заголовка, то возможно и сайт его не видит (фиддлер может быть знает что там всегда должен быть этот заголовок и рисует его самостоятельно...).

С внешними библиотеками возможно можно работать, но они вызывают у меня еще больше вопросов на которых сложнее найти ответы.
А используя стандартные функции Зеннопостера как минимум можно зайти сюда на форум, спросить и получить ответ...

Впрочем указываю сейчас заголовок Host в поле для ввода User-Agent, но не уверен, что это правильно...
Я просто вот что думаю, если домен сайта www.domen.ru например, то хост автоматически будет именно www.domen.ru, а возможно сайт в этом случае желает получить просто domen.ru.

По поводу галочки редиректа - то видимо куки все же не подхватываются и есть смысл снимать её и имитировать всю цепочку запросов...
Хотя, не плохо было бы, чтобы они подхватывались и присоединялись к кукам, которые установил пользователь...

И совсем не по делу, но заметил следующий момент - когда загружается страничка в браузере, то параллельно с HTML страничкой отправляется еще несколько запросов, которые подгружают CSS + JS.
Так вот, когда я (после создания этой темы) начал перед ключевым запросом отправлять два запроса на загрузку CSS + JS (чисто заголовки и в дальнейшем ничего не брал с переменных в которые сохранился результат), после чего уже делаю ключевой запрос (который собственно мне и нужен) из снятой галочкой "редирект", после чего самостоятельно выстаскиваю куки и делаю последний запрос на получение контента - то все отрабатывает как часы и на 403 не перебрасывает...

Собственно уже на фоне этого делаю вывод, что если на сайте стоят скрипты от BLAZINGFAST - то есть смысл отправлять запросы ко всем скриптам и CSS, так как эта штука видимо проверяет очередность загрузки контента, и если она не совпадает с каким-то эталоном - перенаправляет на ошибку 403.
О том, что дожны подхватываться куки, говорилось много раз(
Чтобы узнать, какие запросы необходимы, я просто пользуюсь политикой содержимого или как-то так по трафику. Сначала выключаешь всё, кроме основных запросов и переходишь через веб куда надо. Если что-то не так - начинаешь политику высвобождать понемногу, пока не определишь, какие запросы необходимы
 
  • Спасибо
Реакции: lzlmrf и BAZAg
Точно знаю, на примере ВК, что если передаешь полностью ВСЕ заголовки, то галочку "Ридерект" лучше убрать и работать с каждым шагом, но если оставляешь в заголовках основное и юзерагент, то ридерект можно ставить. Куки подхватывает, если они указаны в экшене (судя по тестам), если ошибаюсь, поправьте :)
 
Точно знаю, на примере ВК, что если передаешь полностью ВСЕ заголовки, то галочку "Ридерект" лучше убрать и работать с каждым шагом, но если оставляешь в заголовках основное и юзерагент, то ридерект можно ставить. Куки подхватывает, если они указаны в экшене (судя по тестам), если ошибаюсь, поправьте :-)
А если сайт по пути предполагает установку куков (вот нет куков при первом запросе - а уже через парочку редиректов их требуют установить)?
Выглядит так, что все таки не подхватывает самостоятельно...
 
Хочу прояснить для себя логику работы экшина GET с установленной галочкой редирект.

вот 2 скрина
1) где простой запрос через браузер
2) через curl тот же самый GET как зенке
и да там тоже секция Host: подтягивается и кукисы есть для этого хоста

P.S. Может быть подкинул идеи для размышлений
 

Вложения

  • w.png
    w.png
    111,4 KB · Просмотры: 67
вот 2 скрина
1) где простой запрос через браузер
2) через curl тот же самый GET как зенке
и да там тоже секция Host: подтягивается и кукисы есть для этого хоста

P.S. Может быть подкинул идеи для размышлений
Вы продемонстрировали что при выполнении запроса в результате выполнения редиректов в переменной будет результат, с которого мы можем взять куки и уже дальше их использовать.
Но, на скриншоте я не вижу, чтобы при переходе по URL Location использовались данные куки в заголовке запроса.
Поправьте, если я ошибаюсь.

Сам факт что в результате выполнения редиректов мы получим все заголовки запросов и их содержимое - так и есть.
Но когда производится несколько редиректов, а после каждого вешаются куки - то на сколько я понимаю куки все таки не передаются по перенаправляемому URL (Зеннопостер данным кубиком не парсит куки и не передает их вместе с гет запросом на URL Location).
 
Если я не путаю то куки можно привязывать к хосту или поддомену, а значить рано или поздно на каком-то редиректе должны все быть загружены.
Но куки так же могут затираться новыми значениями исходят из какой-то логике разработки сайт , при этом от пользователя ничего не требуется это касается работы в браузере.

Получается в случае с (GET POST) надо реализовывать и создать все эту сетевую цепочку самому в ручную.

А редиректы в кубике могу предположить это как вспомогательный инструмент.

P.S. По хорошему это надо потестить на сервере, с использованием htacces для переадресации, и с php для записи и чтения куков.
Это если вы прям очень озадаченны данным вопросом.

Такой тошнотворный контроль за куками и редиректами может придумать только очень крупный сервис я прав?
Типа новая борьба с ботами
 
Получается в случае с (GET POST) надо реализовывать и создать все эту сетевую цепочку самому в ручную.
Я это понимаю. Только хочу точно знать как работает этот кубик (например если он перехватывает куки на редиректе, а мне нет нужды передавать куки - то буду галочку снимать и наоборот).
А редиректы в кубике могу предположить это как вспомогательный инструмент.
Думаю эта галочка действительно как вспомогательный инструмент - в случае если нет разницы какие куки - то проходим всю цепочку перенаправлений.
Но дополнительная опция обработки куков думаю не помешала бы, если её нет (пока опровержения этого также нет).

P.S. По хорошему это надо потестить на сервере, с использованием htacces для переадресации, и с php для записи и чтения куков.
Это если вы прям очень озадаченны данным вопросом.
К сожалению я в этом не настолько сильно разбираюсь, чтобы самостоятельно построить такие цепочки и потом протестировать работу Зеннопостера в том или ином виде.

Такой тошнотворный контроль за куками и редиректами может придумать только очень крупный сервис я прав?
Типа новая борьба с ботами
Есть компания, которая занимается защитой сайтов от ботов.
защита-файрвол.png
схема.png

Когда я попытался создавать темы обсуждения на такую тему - мою тему с форума удалили в течении 5-10 минут с момента создания.
Видимо обсуждать такое здесь не принято.

Так вот там как раз на сайтах, на которых стоит ПО данного сервиса пристально следит за корректностью установки куков.
 
Есть компания, которая занимается защитой сайтов от ботов.
кааааааааааапец еще один гемор на пути зенноюзеров.

Хотя, думаю не все так и плачевно, да придется хорошо так попотеть что бы найти эту самую цепочку загрузки контента, это очередность. Но это максимум что они могут сделать ведь все понимают если сделать 10-100 редиректов с определенной загрузкой очередности то и сам сайт будет загружаться долго, и ведь это никому не нужно

Но вот если для каждого сайта будет своя индивидуальная очередность загрузки, и поиска куков во время эти самых редиректов то это уже сложнее.
 
кааааааааааапец еще один гемор на пути зенноюзеров.
Зато теперь для имитации реального браузера на запросах можно научиться отправлять целые цепочки запросов ко всем скриптам и стилям (если куда-то не отправил запрос - значит бот - значит обратно проверка браузера, каптча или 403).
Все что нас не убивает - делает нас сильнее :)
 
Все что нас не убивает - делает нас сильнее
на самом то деле это интересная находка, с этим сервисом
создает мысль о создание шаба который будет это обходить, и монетизировать ну или выложить на добровольной ))
 
  • Спасибо
Реакции: BAZAg
Попробуйте использовать
такую команду
curl -vIL blazingfast.io

Она позволяет вывести все редиректы с флагом -L

Может быть даст какой-то эффект для анализа
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)