<MyRusakov.ru />

Программирование на C++ в Unreal Engine 5

Программирование на C++ в Unreal Engine 5

Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.

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

Помимо самого курса Вас ждёт ещё и очень ценный Бонус: «Тестирование Unreal-проектов на Python», в рамках которого Вы научитесь писать очень полезные тесты для тестирования самых разных аспектов разработки игр.

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

Подпишитесь на мой канал на 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):

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