Как заставить PHP функционировать в спокойном веб-сервисе? - PullRequest
0 голосов
/ 16 ноября 2018

Я новичок в отдыхе API. У меня есть эта функция ниже, которая возвращает данные HTML, я хочу, чтобы это было доступно из любого места Я использую Zend с PHP 5.6, пожалуйста, дайте ваше предложение.

 fheader('Access-Control-Allow-Origin: *');

header('Access-Control-Allow-Methods: GET, POST');

header("Access-Control-Allow-Headers: X-Requested-With");

if ($_SERVER['REQUEST_METHOD'] == "GET") {
    $db = MysqliDb::getInstance();
    //$sq = "ct-head";
    $db->where("slug","ct-head");
    $db->orderBy('version', 'desc');
    $template = $db->getOne("tbl_templates");
    $result = $template['modhtml'];

    echo $result;

} else if ($_SERVER['REQUEST_METHOD'] == "POST") {
        echo "POST";
} else {
        http_response_code(405);
}

Я написал что-то вроде этого, но если я получаю доступ к нему из другой системы, он возвращает ошибку CORS.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 16 ноября 2018

Братан, тебе нужно сначала понять, что такое API отдыха и для чего он нужен.Кроме того, MySQL небезопасен, вы должны переключиться на PDO или MySQLi.

Rest API - это не что-то особенное, это всего лишь AJAX-запрос.мы отправляем данные JSON в наш оставшийся API, а на стороне API (PHP) налагаем некоторые условия на эти данные, чтобы наш API работал.Если вы хотите отправлять данные JSON откуда угодно (с разных серверов, POSTMAN и т. Д.), Вам нужно использовать CORS (CROSS-ORIGIN RESOURCE SHARING) для этого.так что ваш сервер позволит вам принимать данные из любого места.Также необходимо сделать и ключ аутентификации (токен доступа).так что вы получаете данные только с доверенных сайтов с действительным токеном доступа.

ПРОСТОЙ ПРИМЕР С DEMO

Я сказал в своем ответе, что вам нужно совместное использование ресурсов из разных источников.Чтобы сообщить об этом серверу, мы используем некоторый код, чтобы сообщить ему, что мы разрешаем операции CRUD по запросу вне нашего собственного сервера.Иногда мы создаем только API для себя. Из соображений безопасности ни один сервер не позволит никому попасть на наш сайт.

используйте этот код в верхней части вашего успокоительного API, чтобы разрешить запрос из любой точки вашего сервера.

header("Access-Control-Allow-Origin: *");

Подробнее о CORS читайте здесь

...