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

Як користуватися WordPress Nonce

16

Що таке WordPress Nonce?

Як згадувалося в WordPress Codex, WordPress nonce – це "число, що використовується один раз", щоб захистити URL-адреси та форми від певних видів зловживання, зловмисного чи іншого.

Nonce – це не що інше, як маркер безпеки, який слід використовувати під час розробки, щоб уникнути атак CSRF (підробка між запитами).

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

Як використовувати Nonce у формі

Як уже згадувалося, nonce є символом для запобігання атакам CSRF. Маючи справу з формами, ми повинні додати це поняття у наші форми. Щоб додати nonce у форму, ми використовуємо приховане поле.

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

У наведеному вище коді замініть FIELD_NAME і NONCE_NAME чим завгодно.

Перевірка Чи діє Nonce?

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

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

Як використовувати Nonce в URL

CSRF-атаки можуть також відбуватися на веб-сайті через URL-адреси. Крім того, для делікатних сторінок nonce відіграє важливу роль. Скажімо, у нас є сторінка налаштувань на веб-сайті, яка містить деякі конфіденційні дані, які слід захистити. Ми також хочемо запобігти цьому від атак CSRF. Тому я створюю nonce URL для налаштування сторінки наступним чином.

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

Перевірка Чи діє Nonce?

Тепер нам потрібно перевірити, чи є передача nonce дійсною чи ні. Ми можемо зробити це наступним чином. Тут ми також використовуємо функцію wp_verify_nonce() для перевірки достовірності nonce. Я додаю нижче код у верхній частині сторінки налаштувань.

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

Сподіваюся, ви розумієте, як користуватися WordPress Nonce. Якщо у вас є якісь запитання чи пропозиції, залиште коментар нижче.

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі