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

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

62

Что такое 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. Если есть какие-либо вопросы или предложения, оставьте комментарий ниже.

Источник записи: artisansweb.net

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