Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Проверка домена на редирект (https://javascript.ru/forum/dom-window/70295-proverka-domena-na-redirekt.html)

rafaello 25.08.2017 09:57

Проверка домена на редирект
 
Добрый день.
Есть такой факт, что майл.ру банит почтовые сервера, с которых идет почта с адресом отправителя (От Кого) на домене, который редиректит. Примеры, sms-good.ru, 04a.ru
В связи с этим есть необходимость написать скрипт, который периодически (скажем раз в три дня) по крону будет проверять заданный список доменов на редирект.
Исходя из возможных типов редиректов надо проверять на редирект через:
  1. .htaccess
  2. PHP
  3. HTML
  4. JavaScript
Причем, важное условие, проверка должна производится на сервере. Другими словами, не может же живой человек каждый раз в одно и то же время открывать браузер и запускать скрипт проверки. А крон работает на сервере. Также, скрипт должен проверить за один раз все четыре типа редиректа.
Исходя из сказанного, для проверки PHP и HTML можно использовать curl на наличие заголовка "Location". Возникает вопрос, как проверять на .htaccess и JavaScript редирект?
Мой знакомый предложил мне использовать acceptance-теста на наличие редиректа через codeception, PhantomJS. Я провозился три дня с этим самым codeception, PhantomJS, но так и не смог даже установить (там такая головомойка), для меня это очень сложно.
Подскажите пожалуйста, есть какое то более простое решение для одновременной проверки на все типы редиректа?
Спасибо!

Nexus 25.08.2017 10:38

rafaello, htaccess также должен заголовок скидывать.
Чтобы проверить на js редирект можно воспользоваться PhantomJS, как вам и предлагал fixxxer на phpclub, либо проверять все скрипты (в том числе и подгружаемые) на наличие строки "location.href".

Проще с PhantomJS разобраться, второй вариант не такой и тривиальный, как может показаться на первый взгляд.

laimas 25.08.2017 13:11

Цитата:

Сообщение от rafaello
Исходя из сказанного, для проверки PHP и HTML можно использовать curl на наличие заголовка "Location".

Зачем cURL, если достаточно запросить домен и получить его заголовки get_headers()? Почту кто и что оправляет - РНР или .htaccess/HTML/JavaScript?

rafaello 25.08.2017 18:13

Цитата:

Чтобы проверить на js редирект можно воспользоваться PhantomJS, как вам и предлагал fixxxer на phpclub
Хочу понять, codeception, PhantomJS проверит любой редирект? То есть не только js, но и .htaccess/HTML/РНР
Как я могу догадываться, этот самый PhantomJS имитирует браузер и открывает в нем искомую страницу. Я правильно понимаю?
Ведь тут еще добавляется к сказанному и NGINX-редирект.


Часовой пояс GMT +3, время: 00:59.