✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Віддалені запити з wp_safe_remote_get

3

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

  1. Що приймає оригінальна функція,
  2. Як використовувати оригінальну функцію,
  3. Що повертає оригінальна функція,
  4. Як виглядає реалізація.

А потім я збирався поглянути на wp_safe_remote_get. Але є проблема: у мене є розумні друзі. Незабаром після того, як я опублікував допис, я отримав відповідь від Роя :

Дякую, Рой! (Обов’язково скажіть йому «Привіт!». 🙂

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

wp_safe_remote_get

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

Ця функція ідеальна, коли запит HTTP надсилається до довільної URL-адреси. URL-адресу перевірено, щоб уникнути переспрямування та атак підробки запитів.

І, подібно до свого аналога, він приймає URL-адресу та серію аргументів, які можуть вказати, як робиться запит.

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

Використання цієї функції не відрізняється від використання попередньої, але викликає запитання:

Коли ми використовуємо одне замість іншого? Точніше, коли ми використовуємо wp_remote_getversus 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, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі