<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, Вы будете получать уведомления о новых статьях.

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

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

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

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

CORS Anyware на PHP

CORS Anyware на PHP

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

Итак, согласно документации Cross-Origin Resource Sharing (CORS) — механизм, использующий дополнительные HTTP-заголовки, чтобы дать возможность агенту пользователя получать разрешения на доступ к выбранным ресурсам с сервера на источнике (домене), отличном от того, что сайт использует в данный момент.

Т.е. когда вы делаете, например, Ajax запрос с Вашего домена на другой, то браузер Вам не позволит это сделать, если сервер из которого Вы запрашиваете ресурс, не передаст определенные заголовки, тем самым явно сообщая, что он (сервер) готов отдать запрашиваемую информацию.

И чтобы скрипт на стороне браузера мог получить необходимые данные, сервер должен ответить определенными заголовками, как в пример далее.

<?php
    
    
    // загружает файл по переданному URL
    function get_url_content($url) {
        
        // настраиваем запрос
        $opts = [
            'http' => [
                'method' => "GET",
                'header' => "Accept-language: en\r\n" .
                        "Cookie: foo=bar\r\n" .
                        "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36 \r\n"
            ]
        ];

        $context = stream_context_create($opts);

        // пытаемся получить ресурс с удаленного URL
        $content = @file_get_contents($url, false, $context);
        
        return $content;
        
    }
    
    
    // заголовки CORS
    function set_cors_headers()
    {
        // массив, которые содержит список разрешенных источников запроса
        $allowedOrigins = array(
          'http://myrusakov.ru'
        );
         
        if (isset($_SERVER['HTTP_ORIGIN']) && $_SERVER['HTTP_ORIGIN'] != '') {
          foreach ($allowedOrigins as $allowedOrigin) {
            if (preg_match('#' . $allowedOrigin . '#', $_SERVER['HTTP_ORIGIN'])) {
            
                // устанавливаем необходимые заголовки
                // теперь мы можем обращаться к указанному URL посредством AJAX c домена myrusakov.ru
                header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
                header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
                header('Access-Control-Max-Age: 1000');
                header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With');
                break;
            }
          }
        }

    }
    
    
    
    // выводим заголовки
    set_cors_headers();
    
    // делаем запрос
    print(get_url_content($_GET['url']) ?: 'пусто' );
    
    

Таким образом, сервер, который отдает данные заголовки, явно дает понять, что он готов отдать запрашиваемые Ajax-ом данные, в противном случае, JavaScript запрос закончится ошибкой.

Пример приложения работающего с помощью вышеуказанного скрипта (посмотрите на запросы в консоли)

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

ICFAQ ICFAQ 14.07.2020 15:09:54

Здравствуйте, можете сделать статью о том как сделать добавление новостей на сайт через php

Ответить

Castels Castels 14.07.2020 17:12:22

Здравствуйте! Сделаем. Следите за почтовой рассылкой

Ответить

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