#php #wordpress #rest #ip #wordpress-rest-api
#php #wordpress #остальное #ip #wordpress-rest-api
Вопрос:
Мой код:
lt;?php public function __construct() { $valid_ips = array( '1.2.3.4', ); // It seems the problem is here! Because it returns 404 which means the endpoint is not registered. if (in_array($_SERVER['REMOTE_ADDR'], $valid_ips)) { add_action('rest_api_init', array($this, 'register_my_endpoint')); } } public function register_my_endpoint() { register_rest_route('items/v1', '/get-items', array(array( 'methods' =gt; 'GET, POST', 'callback' =gt; array($this, 'some_func'), 'permission_callback' =gt; '__return_true' ))); }
Проблема в том, что он работает и регистрирует конечную точку на некоторых сайтах, но не на других. Я что-то здесь делаю не так? Я уверен, что мой IP-адрес, который запрашивает, правильный, поскольку я проверил его https://www.ipify.org/
. Возможно ли, что это $_SERVER['REMOTE_ADDR']
имеет какое-то странное значение на некоторых сайтах wordpress? Или это может быть изменено клиентом, который использовал его с чем-то подобным .htaccess
и тому подобным. Кстати, я также добавил IPV6 в $valid_ips
список, но без хорошего результата.
Как я могу это исправить или, по крайней мере, диагностировать?