Ограничьте доступ к REST API WordPress: примеры кода

Чтобы ограничить доступ к REST API WordPress, вы можете использовать различные методы. Вот несколько примеров кода:

  1. Использование плагина.
    Один из самых простых способов ограничить доступ — использовать плагин, например «Отключить REST API». Этот плагин позволяет отключить REST API для пользователей, которые не вошли в систему.

  2. Изменение файла.htaccess.
    Вы можете добавить определенные правила в файл.htaccess, чтобы ограничить доступ к конечным точкам REST API. Вот пример:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/wp-json/wp/v2 [NC]
    RewriteRule ^ - [F]
    </IfModule>

    Этот код вернет запрещенную ошибку (403) для любого запроса к конечной точке /wp-json/wp/v2.

  3. Использование пользовательской функции в файле function.php вашей темы:
    Вы можете добавить собственный код в файл functions.phpвашей темы, чтобы ограничить доступ к REST API. Вот пример:

    function restrict_rest_api() {
    if ( ! is_user_logged_in() ) {
      // Return a REST API error message
      wp_send_json_error( 'Access denied.', 401 );
      exit;
    }
    }
    add_action( 'rest_api_init', 'restrict_rest_api' );

    Этот код проверяет, вошел ли пользователь в систему, и возвращает сообщение об ошибке с кодом состояния 401, если это не так.