✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Удаленные запросы с wp_safe_remote_get

50

Вчера я поделился сообщением о том, как использовать, wp_remote_getно не указал альтернативную функцию: wp_safe_remote_get. Первоначальная цель состояла в том, чтобы использовать первый пост, чтобы показать:

  1. Что исходная функция принимает,
  2. Как использовать оригинальную функцию,
  3. Что возвращает исходная функция,
  4. Как выглядит реализация make.

И тогда я собирался взглянуть на wp_safe_remote_get. Но есть проблема: у меня есть умные друзья. Вскоре после того, как я опубликовал пост, я получил ответ от Роя :

Спасибо, Рой! (Обязательно скажите ему «Привет!». 🙂

А если серьезно, то продолжение вчерашнего поста именно такое: wp_safe_remote_get. И как определить разницу между двумя функциями и когда вы будете использовать одну вместо другой.

wp_safe_remote_get

Прямо из документов API мы узнаем :

Эта функция идеальна, когда HTTP-запрос отправляется на произвольный URL-адрес. URL-адрес проверяется, чтобы избежать перенаправления и подделки запросов.

Как и его аналог, он принимает URL-адрес и ряд аргументов, которые могут указывать, как выполняется запрос.

Кроме того, как и wp_remote_get, он также возвращает массив данных ответа или экземпляр, WP_Errorесли запрос не выполнен.

Использование этой функции ничем не отличается от использования предыдущей, но возникает вопрос:

Когда мы используем одно вместо другого? В частности, когда мы используем wp_remote_getвместо wp_safe_remote_get?

Прочитайте источник

Когда вы сталкиваетесь с такой ситуацией, первое, что лучше всего сделать, это прочитать исходный текст:

  1. wp_remote_get
  2. wp_safe_remote_get

Если вы прочитаете приведенные выше ссылки, вы заметите, что последний отклоняет «небезопасные URL-адреса», которые определяются wp_http_validate_url с помощью серии расширенных проверок.

Но все же, что я использую?

Это по-прежнему оставляет вопрос без ответа, не так ли? Я думаю, что легко сделать общее заявление о том, что вы всегда должны использовать wp_safe_remote_get (или wp_safe_remote_post, если уж на то пошло).

Хотя все проекты разные.

Например, если вы работаете над подключаемым модулем, который будет использоваться только во внутренней сети, и у вас есть контроль, скажем, над белым списком URL-адресов, которые могут быть переданы в функцию, то вы можете использовать первый вариант.

Однако, если вы предоставляете последнюю пользователям, всегда используйте безопасную версию функции.

Короче говоря

Мое эмпирическое правило таково (и оно похоже на санитарную обработку):

Если пользователи будут взаимодействовать с функцией, убедитесь, что они взаимодействуют с максимально безопасной версией кода.

В противном случае слишком многое находится под угрозой.

Источник записи: tommcfarlin.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее