Создаёт скрытое поле <input type="hidden" />
, содержащее защитный ключ nonce. Также позволяет добавить второе скрытое поле с реферером.
Читайте, что такое одноразовые числа (nonces) и для чего они нужны в этом уроке.
wp_nonce_field( $action = -1, $name = '_wpnonce', $referer = true, $echo = true )
$action
может быть например 'save-post-' . $post_id
.name
скрытого поля.$_SERVER['REQUEST_URI']
текущей страницы.true
– вывести поле (по умолчанию), false
– возвратить.В качестве примера давайте выведу форму и туда сразу же добавлю скрытое поле с одноразовым числом nonce.
Ну например можем предположить, что мы обновляем какой-то пост во фронтенде.
echo '<form action="save.php" method="POST"> <!-- тут будут ещё какие-либо другие поля ... --> <input type="hidden" name="post_id" value="' . $post_id . '" /> ' . wp_nonce_field( 'save-post-' . $post_id, 'true_nonce', true, false ) . ' </form>';
И соответственно валидация одноразового числа в файле save.php
будет выглядеть примерно следующим образом:
if( isset( $_POST[ 'true_nonce' ] ) && wp_verify_nonce( $_POST[ 'true_nonce' ], 'save-post-' . $_POST[ 'post_id' ] ) { // проверка прошла успешно, делаем дела }
Для проверки мы использовали функцию wp_verify_nonce(), ну и реферер вы можете проверить, взяв его из $_POST[ '_wp_http_referer' ]
.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.