Лучший опыт

Как использовать WordPress Nonce.

Как использовать WordPress Nonce.

Как использовать WordPress Nonce.

Содержание
Что такое WordPress Nonce?
Как использовать одноразовый номер в форме
Проверить, действителен ли одноразовый номер?
Как использовать одноразовый идентификатор в URL-адресе
Проверить, действителен ли одноразовый номер?

Что такое WordPress Nonce?

Как упоминается в Кодексе WordPress, одноразовый номер WordPress – это «число, используемое один раз», чтобы помочь защитить URL-адреса и формы от определенных типов неправомерного использования, злонамеренного или иного.

Одноразовый номер – это не что иное, как токен безопасности, который следует использовать во время разработки, чтобы избежать атак CSRF (подделка межсайтовых запросов).

При разработке темы или плагина nonce следует использовать в форме или в URL-адресе. Как разработчик WordPress, использование nonce – хорошая практика.

Как использовать одноразовый номер в форме

Как уже упоминалось, nonce – это токен для предотвращения атак CSRF. Имея дело с формами, мы должны добавить этот одноразовый номер в наши формы. Чтобы добавить одноразовый номер в форму, мы используем скрытое поле.

<input type="hidden" name="FIELD_NAME" value="<?php echo wp_create_nonce('NONCE_NAME'); ?>"

В приведенном выше коде замените FIELD_NAME & NONCE_NAME на что угодно.

Проверить, действителен ли одноразовый номер?

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

if (wp_verify_nonce( $_REQUEST['FIELD_NAME'], 'NONCE_NAME')) {     //safe to proceed } else {     die('Security Check!'); }

Как использовать одноразовый идентификатор в URL-адресе

CSRF-атаки также могут происходить на веб-сайтах через URL-адреса. Кроме того, для конфиденциальных страниц важную роль играет nonce. Допустим, у нас есть страница настроек на веб-сайте, которая содержит некоторые конфиденциальные данные, которые необходимо защитить. Мы также хотим защитить его от атак CSRF. Поэтому я создаю одноразовый URL-адрес для страницы настройки следующим образом.

<a href="<?php echo wp_nonce_url(get_bloginfo('url').'/settings', 'page-settings', 'setting-nonce'); ?>"></a>

Проверить, действителен ли одноразовый номер?

Теперь нам нужно проверить, действительна ли передача одноразового номера. Сделать это можно следующим образом. Здесь мы также используем функцию wp_verify_nonce() для проверки допустимости одноразового номера. Я добавлю код ниже вверху страницы настроек.

if (isset($_GET['setting-nonce']) && wp_verify_nonce($_GET['setting-nonce'], 'page-settings')) {     //safe tp proceed }

Надеюсь, вы понимаете, как использовать WordPress Nonce. Если есть какие-либо вопросы или предложения, оставьте комментарий ниже.