<?php


if (strpos($_SERVER['REQUEST_URI'], '/wp-json/') === 0) {
    // Получаем HTTP_REFERER (откуда пришел запрос) или HTTP_ORIGIN (для CORS)
    $referer = isset($_SERVER['HTTP_REFERER']) ? parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST) : null;
    $origin = isset($_SERVER['HTTP_ORIGIN']) ? parse_url($_SERVER['HTTP_ORIGIN'], PHP_URL_HOST) : null;

    // Получаем хост текущего сайта
    // OLD  $site_host = parse_url(home_url(), PHP_URL_HOST);
       $site_host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';

    // Если пользователь не авторизован (не имеет куки 'wordpress_logged_in_')
    if (!preg_match('/wordpress_logged_in_/', (isset($_SERVER['HTTP_COOKIE']) ? $_SERVER['HTTP_COOKIE'] : ''))) { // Добавлено isset для $_SERVER['HTTP_COOKIE']
        // И запрос не исходит с того же домена (ни из referer, ни из origin)
        // Условие ($referer === null && $origin === null) добавлено для запросов без referer/origin,
        // которые часто являются прямыми запросами или запросами от ботов.
        if (($referer !== $site_host && $origin !== $site_host) || ($referer === null && $origin === null)) {
            header('HTTP/1.1 403 Forbidden');
            exit;
        }
    }
}

if ($_SERVER['REQUEST_METHOD'] === 'POST' && preg_match('#^/?$#', $_SERVER['REQUEST_URI'])) {
   header('HTTP/1.1 403 Forbidden');
  exit('POST-запросы на корень запрещены');
}
 
//standart file:
define('WP_USE_THEMES', true);

/** Loads the Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
