Результаты поиска :

×

REST API WordPress | Что это такое и как защитить REST API WordPress


Что такое REST API?

REST API, также известный как RESTful API, — это стиль написания интерфейсов прикладного программирования, ограниченный набором правил, но соответствующий архитектурному стилю REST, и позволяющий осуществлять связь между REST-конечными точками. Связь между API должна быть защищена методом обеспечения безопасности, гарантирующим безопасный и защищенный доступ. В этой статье мы познакомимся с REST API, а также с терминологией и методами обеспечения безопасности REST API WordPress. Мы также рассмотрим... плагин аутентификации WordPress REST API miniOrange а также его функции для защиты и обеспечения безопасности REST API WordPress.

Что такое ОТДЫХ?

REST, или Representational State Transfer, по сути представляет собой набор JSON Конечные точки (URL-адреса), содержащие информацию о ваших записях, страницах и т. д. Вы можете просто отправить GET-запрос к вашей конечной точке WordPress и прочитать содержимое вашего веб-сайта WordPress в формате JSON извне установки WordPress. Это делает REST API WordPress доступным для операций CRUD, позволяя вам удобно создавать, читать, обновлять и удалять контент на вашем сайте извне установки WordPress. О защите конечных точек мы поговорим позже в этой статье.

Что такое API?

REST API WordPress
API API (Application Programming Interface) позволяет двум приложениям взаимодействовать друг с другом. Каждый раз, когда пользователь отправляет запрос на сервер, сервер отвечает на этот запрос ресурсом, полученным с сервера и называемым ответом. API создается на сервере, и пользователь может взаимодействовать с ним. Это обеспечивает интерфейс для компьютерных систем в сети, упрощая взаимодействие клиента и сервера и обмен данными в ограниченных, четко определенных рамках. API позволяет пользователю отправлять или получать данные, совершая определенный «вызов» или «запрос». Для этого используется язык программирования JSON. API может использоваться для выполнения четырех различных типов запросов:
1. GET (Retrieve): Эта функция позволяет получать данные с сервера через вызов API.
2. POST (Создать): Эта функция позволяет записывать новую информацию на сервер.
3. PUT (Обновление): Эта функция позволяет обновить уже имеющийся контент на сервере.
4. УДАЛИТЬ (Удалить): Эта функция позволяет удалить данные с сервера.

Примеры использования API в повседневной жизни:

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

      2. Карта Google: API Google Maps полезен для получения данных, таких как географическое местоположение, широта, долгота и т. д., из базы данных Google Maps.

      3. Войдите в систему, используя XYZ: Возможно, вы видели на различных сайтах возможность входа через Google, Facebook и т. д. Вместо использования учетных данных пользователя, приложение отправляет API-запрос в Google, Facebook и т. д., запрашивая аутентификацию пользователя для доступа к веб-сайту.

Что такое WordPress REST API?

Что такое REST API WordPress?
REST API (Representational State Transfer Application Programming Interface) WordPress предоставляет приложениям (таким как Android, iOS, React, Angular) интерфейс для взаимодействия с вашим веб-сайтом WordPress путем отправки и получения данных в формате JSON (JavaScript Object Notation). Здесь мы используем JavaScript для обращения к REST API WordPress, чтобы загрузить контент из базы данных WordPress на нашу веб-страницу.

Пример: Приведенная ниже REST-точка доступа используется для получения всех записей и страниц WordPress.
  • GET /posts - https://www.example.com/wp-json/wp/v2/posts
  • GET /pages - https://www.example.com/wp-json/wp/v2/pages

Ключевые термины REST API WordPress

Прежде чем мы углубимся в REST API WordPress и его значение для разработчиков, давайте кратко ознакомимся с основными терминами, связанными с WP REST API:

      1. Маршрут: Это URL-адрес, который может быть сопоставлен с различными HTTP-методами. Пример: /wp-json/

      2. Конечная точка: Это связь между отдельным HTTP-методом и маршрутом.

      3. Запрос: Это экземпляр класса WP_REST_Request, который можно использовать для получения информации о текущих запросах.

      4. Ответ: Она предоставляет запрошенные данные или отображает ошибку, указывающую на причину сбоя во время выполнения/вызова.

      5. Схема: Это позволяет понять, какие входные параметры и свойства могут быть отправлены и получены через REST API.

      6. Классы контроллеров: Здесь вы обрабатываете/управляете запросами REST API.

В чём польза REST API WordPress?

  • REST API WordPress делает операции CRUD (создание, чтение, обновление и удаление) доступными из любого места, а не ограничиваются только административной панелью WordPress. Он обеспечивает легковесную форму связи между клиентом и сервером, что делает его отличным решением для обмена данными.
  • Его можно использовать для создания нативных приложений для iOS/Android и т.д. Мы можем использовать любой язык программирования, если он способен выполнять HTTP-запросы и интерпретировать JSON, например, Node.js, Express.js, Ruby, Python и т.д.
  • Это позволит вам создать мобильное приложение для вашего устройства. WooCommerce Веб-сайт электронной коммерции. Вы сможете синхронизировать данные о пользователях, запасах и все остальные данные между вашим сайтом WordPress и мобильным приложением. Ваши клиенты смогут быстрее оформлять заказы в мобильном приложении, что, следовательно, увеличит ваши продажи и прибыль.
  • REST API WordPress позволит расширить функциональность веб-сайта электронной коммерции (WooCommerce) за пределы базовых возможностей, предоставляемых WooCommerce. Он поможет вам подключаться к внешним API (дополнительные функции) для безопасного предоставления большего количества возможностей вашему магазину WooCommerce.

Мы знаем, что REST API WordPress открывает множество возможностей, но мы должны помнить о защите и обеспечении безопасности наших конечных точек. Наш плагин для WordPress обладает множеством функций безопасности для защиты сайтов WordPress (WooCommerce, Learndash, Zoho и т. д.).

Как работают REST API WordPress?

Доступен огромный объем данных. WordPress REST-API Доступ к данным предоставляется всем, кто попросит, например, для записей, страниц, комментариев и т. д. Аутентификация с помощью файлов cookie — это стандартный метод аутентификации, используемый в WordPress для защиты ваших данных. При входе в панель управления файлы cookie устанавливаются корректно, поэтому разработчикам плагинов и тем достаточно иметь авторизованного пользователя. Однако REST API включает в себя метод, называемый nonce, для предотвращения проблем CSRF. Это предотвращает принуждение вас к выполнению действий другими сайтами без вашего явного намерения. Для этого требуется немного специальная обработка API. Это более безопасный метод защиты вашего сайта WordPress. REST API передается через HTTP (HyperText Transfer Protocol) с использованием формата JSON (JavaScript Object Notation). Эти конечные точки могут представлять записи, страницы и другие типы данных WordPress или любые другие созданные пользователем конечные точки. Он обрабатывает данные с клиента и сервера без фактического доступа к базе данных, поэтому база данных остается в безопасности.

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

  • Пример: https://example.com/wp-json/wp/v2/users/

При попытке доступа к этим конечным точкам по умолчанию REST API WordPress отобразит все данные, относящиеся к вашим пользователям, что может привести к серьезному нарушению безопасности.

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

Риск также возникает, когда злоумышленники получают доступ к вашему имени пользователя и теперь могут взломать ваш сайт методом перебора паролей, поскольку REST API WordPress разрешил доступ к вашему сайту, откуда они получили имена пользователей. Для большей безопасности вы можете полностью отключить REST API на своем веб-сайте (WooCommerce, электронное обучение и т. д.), но это ограничит возможности использования этой функции для развития вашего бизнеса и расширения возможностей, поскольку вы можете интегрировать свой веб-сайт WordPress с другими конечными точками, такими как центральный склад, мобильные приложения и т. д. Вместо того чтобы полностью запрещать REST API, вы должны найти способ защитить его и использовать REST API WordPress по назначению.

Преимущества REST API WordPress

REST API WordPress открывает перед разработчиками широкие возможности для изучения и реализации функций, которые упростят обработку больших объемов данных. Благодаря формату данных JSON, WordPress может обмениваться данными с другими веб-сайтами и программами, используя REST API WordPress, независимо от языка программирования приложения/программы/веб-сайта. Вам нужно лишь позаботиться о защите конечных точек, используя безопасные методы, как это реализовано в нашем плагине WordPress REST API Authentication. Это поможет защитить ваш WordPress и предоставит вашему сайту дополнительные функции для дальнейшего развития.

Пример использования REST API WordPress

Существует множество вариантов использования REST API WordPress, некоторые из основных перечислены ниже:

    Синхронизация данных через REST API
  • Предположим, вы хотите разработать приложение для Android и iOS для ведения блога, где пользователи смогут просматривать и публиковать записи прямо из мобильного приложения. В этом случае вам также потребуется создавать, получать, обновлять и удалять записи из мобильного приложения, что можно легко и безопасно сделать с помощью WordPress.
  • Синхронизация данных WooCommerce
  • Предположим, у вас есть сайт электронной коммерции, разработанный с помощью плагина WooCommerce и WordPress, и вы хотите разработать нативное приложение, используя фреймворк React. Однако вам не нужно создавать отдельную базу данных для нативного приложения и загружать туда все данные о товарах, клиентах и ​​заказах, поскольку это будет неэффективно и неудобно в плане обслуживания, как в случае с WordPress. Вы можете легко получить доступ к REST API WooCommerce с обеспечением безопасности и защиты в вашем нативном приложении, даже с возможностью входа пользователя с помощью учетных данных WordPress и даже через социальные сети. Вы можете легко аутентифицироваться и получить доступ к REST API WooCommerce, если вы вошли в приложение через платформу социальной авторизации.

Плагин miniOrange для аутентификации REST API в WordPress, предназначенный для защиты ваших REST-терминалов.

Синхронизация данных WordPress-miniorange через REST API

Я бы посоветовал вам скачать плагин WP REST API Authentication для WordPress, который значительно упростит доступ к REST API WordPress, обеспечивая безопасность и защиту данных в соответствии со стандартами отрасли, в зависимости от ваших потребностей или требований.

Он поддерживает множество методов аутентификации, таких как аутентификация по ключу API, базовая аутентификация, аутентификация JWT, аутентификация OAuth 2.0 и аутентификация сторонних поставщиков OAuth 2.0 и т. д., для защиты и обеспечения безопасности вашего сайта WordPress. Они также совместимы со всеми перечисленными ниже методами HTTP:

      1. GET (Получить): Эта функция позволяет получать данные с сервера через вызов API.

      2. POST (Создать): Эта функция позволяет записывать новую информацию на сервер.

      3. PUT (Обновление): Эта функция позволяет обновлять уже имеющийся контент на сервере.

      4. УДАЛИТЬ (Снять): Эта функция позволяет удалять данные с сервера.

Установка плагина аутентификации REST API для WordPress

Существует несколько способов установки и настройки нашего плагина WordPress REST API для обеспечения безопасности вашего сайта WordPress.

      1. Вы можете скачать ZIP-архив плагина с торговой площадки miniOrange или напрямую с торговой площадки WordPress. После скачивания ZIP-архива вам необходимо распаковать содержимое загруженной папки в каталог `/wp-content/plugins/` на вашем компьютере, а затем просто активировать плагин на странице плагинов WordPress на вашем сайте WordPress.

      2. Ещё один способ установить и использовать наш плагин — загрузить его через опцию «Добавить новый» на странице плагинов.

      Любой из этих двух простых шагов позволит вам защитить и обезопасить ваши сайты WordPress, такие как WooCommerce, Learndash и т. д. Для получения подробного объяснения и пошагового руководства по настройке плагина, пожалуйста, зайдите сюда.

REST API-интерфейсы стандартных и пользовательских/сторонних плагинов:

WordPress предоставляет несколько стандартных REST-интерфейсов для получения и загрузки данных на веб-сайт WordPress. Некоторые из этих интерфейсов приведены ниже:

      1. Блог

      2. Страницы

      3. Медиафайлы

      4. сообщение Meta

      5. Комментарии

      6. Пользователи

      7. Условия использования

Но возникает вопрос: если вам необходимо создать конечные точки REST API по умолчанию, как это сделать? А если вы хотите получать собственные данные из базы данных с помощью REST API с обеспечением безопасности?

В этом случае вам потребуется создать собственные REST API для WordPress, чтобы обрабатывать необходимую функциональность, или вы можете использовать наш плагин CUSTOM API for WP для создания пользовательских REST API для WordPress. Вы сможете подключаться к API Learndash, Gravity Forms, WooCommerce, Google Merchant и т.д. Вам нужно просто указать имя API и HTTP-метод, который вы хотите использовать. После этого вам нужно выбрать таблицу базы данных, из которой вы хотите получить данные. Вы также можете выбрать столбцы и задать условие для их получения, даже не написав ни одной строки кода.

Настройка интеграции/аутентификации API любого типа в WordPress:

Если вы думаете, что вам понадобятся какие-либо настройки в нашем плагине WordPress REST API или Custom API, то у меня для вас хорошая новость: мы предоставляем клиентам возможность индивидуальной настройки в соответствии с их потребностями, чтобы им не приходилось идти на компромиссы и они могли пользоваться нашими услугами и поддержкой при работе с нашими плагинами REST API.

Методы аутентификации REST API WordPress в нашем плагине для WordPress

Это методы аутентификации, предоставляемые нашим плагином WordPress REST API. Чтобы узнать больше и ознакомиться с примерами Postman, перейдите по ссылкам ниже:

  • Базовая аутентификация: Это основной метод аутентификации для защиты и обеспечения безопасности конечных точек WordPress, при котором пользователи могут проходить аутентификацию двумя способами:

    1. Имя пользователя:Пароль: В этом типе базовой аутентификации для подтверждения доступа пользователя к системе требуются учетные данные пользователя, такие как имя пользователя и пароль.
    2. Client-ID:Client-Secret: В этом типе базовой аутентификации учетные данные клиента предоставляются плагином в заголовке авторизации в виде данных, закодированных в base64, или данных, зашифрованных с помощью высокозащищенного HMAC-шифрования.

  • Аутентификация по ключу API: Этот метод защиты позволяет обезопасить конечные точки WordPress, не раскрывая учетные данные пользователей, поскольку плагин генерирует ключ API для доступа к любому ресурсу, который также может быть сгенерирован заново в плагине или аннулирован по желанию администратора.
  • Аутентификация JWT: Этот метод использует JWT-токен, выданный плагином, и работает как аутентификатор API для защиты ваших REST API. Сам плагин предоставляет конечную точку REST API, через которую вы можете очень легко сгенерировать JWT-токен, передав действительные учетные данные пользователя WordPress.
  • Аутентификация OAuth 2.0: Это наиболее безопасный метод аутентификации и защиты REST API. Если у вас нет стороннего поставщика идентификации, то аутентификация REST API WordPress работает как в качестве OAuth-сервера (провайдера), так и в качестве аутентификатора API для защиты ваших REST API.

    1. Предоставление пароля: Этот метод используется, когда необходимы данные, специфичные для пользователя.
    2. Предоставление учетных данных клиента: Этот метод используется для аутентификации вызовов API без указания конкретного пользователя.

  • Аутентификация стороннего поставщика: Этот метод используется, когда у вас уже есть внешний поставщик идентификации OAuth/OpenID Connect, который предоставляет вам токен доступа/идентификационный токен или JWT-токен, который можно использовать для аутентификации REST API WordPress, и плагин будет проверять токен непосредственно у этих поставщиков токенов, и только после успешной проверки будет разрешен доступ к конечным точкам API.

Какой метод обеспечения безопасности использовать в данном случае?

  • Базовая аутентификация: Если вы хотите защитить свои REST API WordPress (например, API для записей, страниц и другие REST API) с помощью учетных данных пользователей WordPress или client-id:client-secret, предоставляемых самим плагином, то вы можете выбрать этот метод. Рекомендуется использовать этот метод на HTTPS или защищенном сокетном уровне (SSL).
  • Аутентификация ключа API: Если вы хотите защитить свои REST API WordPress (например, API для записей, страниц и другие REST API) от неавторизованных пользователей, но не хотите делиться учетными данными пользователей, идентификаторами клиентов или секретными ключами для аутентификации REST API, вы можете использовать аутентификацию по ключу API, которая сгенерирует для вас случайный ключ аутентификации. Используя этот ключ, вы можете аутентифицировать любой REST API на вашем сайте. Этот метод также предоставляет возможность генерации ключа API, специфичного для пользователя, для доступа и аутентификации к API, требующим прав доступа пользователя. Сгенерированный ключ будет в зашифрованном формате, поэтому не будет нарушений безопасности и возможной утечки данных.
  • Аутентификация с помощью JWT: Если вы хотите защитить свои REST API с помощью JWT-токена и у вас нет стороннего поставщика/провайдера идентификации, который выдает JWT-токены, то вам следует использовать метод аутентификации JWT. В этом случае наша система аутентификации REST API для WordPress сама выдает JWT-токен и выступает в качестве аутентификатора API для защиты ваших REST API.
  • Аутентификация OAuth 2.0 (НАИБОЛЕЕ БЕЗОПАСНЫЙ И НАИБОЛЕЕ РЕКОМЕНДУЕМЫЙ): Если вы хотите защитить свои REST API с помощью токена доступа или идентификационного токена (JWT-токена) и при этом не используете сторонних поставщиков/провайдеров идентификации, вам следует выбрать метод аутентификации OAuth 2.0. В этом случае наша система аутентификации WordPress REST API работает как в качестве OAuth-сервера, так и в качестве аутентификатора API для защиты ваших REST API.
  • Аутентификация стороннего поставщика: Если вы хотите защитить/ограничить доступ к вашим REST API WordPress с помощью внешнего поставщика OAuth/провайдера идентификации, такого как Azure, Amazon Cognito, KeyCloak, Okta, ADFS, Google, Facebook и т. д., а также Firebase, то вам следует выбрать метод аутентификации стороннего поставщика. В этом случае вам просто нужно настроить плагин с конечной точкой интроспекции/конечной точкой информации о пользователе, предоставленной вашим провайдером идентификации, и вы сможете аутентифицировать запрос API, используя токен, предоставленный вашим приложением-провайдером.

Связанные чтения

Рекомендуемые плагины

Плагин аутентификации REST API для WordPress обеспечивает защиту от несанкционированного доступа к вашим REST API WordPress. Он предоставляет вам различные методы аутентификации, такие как базовая аутентификация, аутентификация по ключу API, аутентификация OAuth 2.0, аутентификация JWT.

 Протестировано с 5.9.2

Этот плагин позволяет создавать пользовательские конечные точки/REST-маршруты для получения/изменения/создания/удаления данных с помощью удобного графического интерфейса, а также пользовательских SQL-запросов. Кроме того, плагин предоставляет возможность интеграции внешних API в ваш сайт WordPress с использованием сторонних платформ.

 Протестировано с 5.9.2

миниоранж img  Запросить демонстрацию плагина


Получите полнофункциональную пробную версию



 Спасибо за ваш ответ. Мы свяжемся с вами в ближайшее время.

Что-то пошло не так. Пожалуйста, отправьте запрос ещё раз.

REST API WordPress | Что это такое и как защитить REST API WordPress

Нужна помощь?

Пишите нам apisupport@xecurify.com Для получения оперативной консультации (по электронной почте/на встрече) по вашим требованиям, наша команда поможет вам выбрать наиболее подходящее решение/план в соответствии с вашими потребностями.

Привет!

Нужна помощь? Мы здесь!

поддержка