<MyRusakov.ru />

WordPress 6 с Нуля до Гуру

WordPress 6 с Нуля до Гуру

Этот курс научит Вас созданию самых разных сайтов на самой популярной в мире CMS - WordPress. Вы увидите установку и настройку локального сервера, разбор каждой настройки, каждой кнопки и каждого пункта меню в панели WordPress.

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

Помимо уроков к курсу идут упражнения для закрепления материала.

И, наконец, к курсу идёт ценнейший Бонус по тому, как используя ChatGPT и создавая контент для сайта, можно выйти на пассивный доход. Вы наглядно увидите, как зарегистрироваться в ChatGPT (в том числе, и если Вы из России), как правильно выбрать тему для сайта, как правильно генерировать статьи для него(чтобы они индексировались поисковыми системами) и как правильно монетизировать трафик на сайте.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Получение данных об IP-адресе в Laravel

Получение данных об IP-адресе в Laravel

Доброго времени суток! Сегодня мы рассмотрим с Вами как получить данные об IP-адресе (страна, регион, провайдер) из логов веб-сервера. В данном случае логи веб-сервера уже занесены в базу, поэтому остается только написать скрипт, которые эти данные будет возвращать. Для анализа IP-адресов мы будем использовать сервис ipinfo, (50 тыс. бесплатных запросов в месяц).

Код метода контроллера:


public function getUsersIpInfo()
{

    $sql = "
        select 
            distinct 
                l.id,
                l.ip
        from webserver_logs l
        order by l.ip
    ";

    // делаем запрос в базу и полученный массив превращаем в коллекцию Laravel
    $rows = collect(DB::select($sql));

    // создаем контекст выполнения http-запроса
    $context = stream_context_create([
        'http' => [
            'timeout' => rand(1, 2),
        ]
    ]);

    // данная функция выполняет запрос на сервер и декодирует полученные JSON-данные
    $resp = file_get_contents(
        "https://ipinfo.io/$ip?token={ВАШ_АПИ_КЛЮЧ}", 
        false, $context
    );
    $getIpInfo = fn($ip) => json_decode($resp);

    // проходимся по списку полученных адресов и декодируем их в понятный формат
    return $rows->map(static function ($row) use ($getIpInfo) {
        $row->ip = $getIpInfo($row->ip);
        return $row;
    });
}

Примерный результат:


{
    "1.1.1.1": {
        "ip": "1.1.1.1",
        "hostname": "one.one.one.one",
        "anycast": true,
        "city": "Los Angeles",
        "region": "California",
        "country": "US",
        "loc": "34.0522,-118.2437",
        "org": "AS13335 Cloudflare, Inc.",
        "postal": "90076",
        "timezone": "America/Los_Angeles"
    },
    "8.8.8.8": {
        "ip": "8.8.8.8",
        "hostname": "dns.google",
        "anycast": true,
        "city": "Mountain View",
        "region": "California",
        "country": "US",
        "loc": "37.4056,-122.0775",
        "org": "AS15169 Google LLC",
        "postal": "94043",
        "timezone": "America/Los_Angeles"
    }
}

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.