Как определить ip адрес посетителей сайта?

Разборы Автор: Василий Проневич 24.02.2019

Как определить ip адрес посетителей сайта?

Иногда по той или иной причине возникает необходимость узнать ip адрес пользователя вашего ресурса. Или нескольких пользователей. Или всех. Это может пригодиться по множеству самых разных причин и вот в них мы как раз вдаваться не будем. В данной статье мы рассмотрим самый простой и быстрый способ трекинга IP посетителей вашего сайта.

Для этого нам понадобится:

1. Доступ к файлам сайта (Сайт обязательно должен работать на PHP)
2. Настроенная и рабочая Яндекс.Метрика
3. Две руки и мозг

Первым делом взглянем на код Яндекс.Метрики в том виде, в котором он, с большой вероятностью, сейчас отображается на вашем сайте. В целях сохранения конфиденциальности номер счетчика заменен на слово КОТИК.

<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
    (function (d, w, c) {
        (w[c] = w[c] || []).push(function() {
            try {
                w.yaCounterКОТИК = new Ya.Metrika2({
                    id:КОТИК,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true,
                    webvisor:true
                });
            } catch(e) { }
        });

        var n = d.getElementsByTagName("script")[0],
            s = d.createElement("script"),
            f = function () { n.parentNode.insertBefore(s, n); };
        s.type = "text/javascript";
        s.async = true;
        s.src = "https://mc.yandex.ru/metrika/tag.js";

        if (w.opera == "[object Opera]") {
            d.addEventListener("DOMContentLoaded", f, false);
        } else { f(); }
    })(document, window, "yandex_metrika_callbacks2");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/КОТИК" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

Теперь нам понадобится этот код модифицировать. Модификации предельно простые.

В самом начале вставляем следующий код:

var yaParams = {ip: "<? echo $_SERVER['REMOTE_ADDR']; ?>"};

Этот фрагмент кода позволяет определить ip адрес посетителя. Осталось передать его дальше, в нашу систему аналитики. Для этого добавляем в наши параметры новоиспеченный параметр с IP.

Он должен быть обязательно добавлен сразу после ID нашего счетчика!

w.yaCounterКОТИК = new Ya.Metrika2({
                    params:window.yaParams,
                    id:КОТИК,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true,
                    webvisor:true
                });

В результате получаем наш видоизмененный код метрики, который и должен остаться на сайте.

<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
var yaParams = {ip: "<? echo $_SERVER['REMOTE_ADDR']; ?>"};
    (function (d, w, c) {
        (w[c] = w[c] || []).push(function() {
            try {
                w.yaCounterКОТИК = new Ya.Metrika2({
                    params:window.yaParams,
                    id:КОТИК,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true,
                    webvisor:true
                });
            } catch(e) { }
        });

        var n = d.getElementsByTagName("script")[0],
            s = d.createElement("script"),
            f = function () { n.parentNode.insertBefore(s, n); };
        s.type = "text/javascript";
        s.async = true;
        s.src = "https://mc.yandex.ru/metrika/tag.js";

        if (w.opera == "[object Opera]") {
            d.addEventListener("DOMContentLoaded", f, false);
        } else { f(); }
    })(document, window, "yandex_metrika_callbacks2");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/КОТИК" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

Для особенных:

Где же взять замену нашему КОТИКУ? Номер счетчика метрики вы найдете при установке самого кода метрики на сайт, а точнее: при его создании. Вот он.

 

Далее, чтобы начать отслеживать IP адреса ваших посетителей вам необходимо воспользоваться стандартными отчетами Яндекс.Метрики

Отчеты -> Стандартные отчеты -> Содержание -> Параметры визитов

Там вы увидите следующую картину:

Готово. Вы профессиональный хакер и повелитель ip адресов.

Есть небольшая ремарочка. Данный способ не подойдет любителям Google Tag Manager, так как в его тегах PHP не работает и вы увидите следующую картину:

Но не стоит отчаиваться.

Нет, у нас нет решения этой проблемы, но и от определения IP адреса ничего особенно не поменяется, так как в 99% случаев он динамический и смысла его определять практически нет, а следовательно вы ничего и не потеряли.

Спасибо за внимание и оставайтесь с нами.