[NotFoundParamAlert] - отслеживание несуществующих страниц с заданными URL параметрами
Дошли руки доработать ранее написанный компонент NotFoundParamAlert, позволяющей отлавливать несуществующие страницы с заданными GET параметрами. Лично я его использую для раннего выявления ошибочно настроенных объявлений в контекстной рекламе, отлавливая такие объявления по UTM меткам. Тем, кому интересно, что нового, прошу под кат.
Основная доработка это конечно добавление CMP страницы для приложения, где теперь можно просматривать все отловленные страницы. В БД попадают полный адрес страницы, полный список URL параметров, с которыми страница была запрошена, отловленные URL параметры по маске и маска, по которой проходил отлов. Так же сохраняются IP и временная метка. Думал добавить еще User-Agent, но мне он не кажется чем-то важным. Если будут пожелания, можно добавить.
Возможность отправлять уведомления на почту или логировать отловленные страницы со всеми данными сохраняется. Если есть необходимость, есть вожно использовать все три вида отлова одновременно. Так же сохраняется возможность задавать шаблоны тела письма и лог сообщения, под свои нужды.
Из интересного, в ходе разработки обнаружил, что классе modRequest, который доступен нам практически с самого начала через переменную $modx->request, существует метод getClientIp(). Метод используется для определения IP адреса посетителя, однако обладает интересной особенностью. Он возвращает не только предполагаемый IP адрес посетителя, но так же массив возможных исходных IP адресов, при использовании прокси. Ранее с этим методом не сталкивался, поэтому если кто решит получать IP посетителя, то можно воспользоваться этим встроенным методом или посмотреть мою обертку к нему.
В общем как и всегда обновленный компонент доступен в репозиториях и на github. Если будут предложения или пожелания по работе компонента, предлагаем :)
Основная доработка это конечно добавление CMP страницы для приложения, где теперь можно просматривать все отловленные страницы. В БД попадают полный адрес страницы, полный список URL параметров, с которыми страница была запрошена, отловленные URL параметры по маске и маска, по которой проходил отлов. Так же сохраняются IP и временная метка. Думал добавить еще User-Agent, но мне он не кажется чем-то важным. Если будут пожелания, можно добавить.
Возможность отправлять уведомления на почту или логировать отловленные страницы со всеми данными сохраняется. Если есть необходимость, есть вожно использовать все три вида отлова одновременно. Так же сохраняется возможность задавать шаблоны тела письма и лог сообщения, под свои нужды.
Из интересного, в ходе разработки обнаружил, что классе modRequest, который доступен нам практически с самого начала через переменную $modx->request, существует метод getClientIp(). Метод используется для определения IP адреса посетителя, однако обладает интересной особенностью. Он возвращает не только предполагаемый IP адрес посетителя, но так же массив возможных исходных IP адресов, при использовании прокси. Ранее с этим методом не сталкивался, поэтому если кто решит получать IP посетителя, то можно воспользоваться этим встроенным методом или посмотреть мою обертку к нему.
В общем как и всегда обновленный компонент доступен в репозиториях и на github. Если будут предложения или пожелания по работе компонента, предлагаем :)