wp_verify_nonce()
Проверяет указанный одноразовый код (nonce код).
Одноразовый код создается одной из функций:
Про одноразовые коды читайте в отдельной статье.
Pluggable функция — эту функцию можно заменить из плагина. Это значит, что она будет работать (подключается) только после подключения всех плагинов, а до этого момента функция еще не определена... Поэтому нельзя вызывать эту и зависящие от неё функции прямо из кода плагина. Их нужно вызывать через хук plugins_loaded или позднее, например хук init.
Замена функции (переопределение) — в must-use или обычном плагине можно создать функцию с таким же названием, тогда она заменит текущую функцию.
Хуки из функции
Возвращает
int|false
.
false
- если проверка не пройдена.1
- если проверочный код был создан в первые 12 часов (в промежутке 0-12 часов).2
- если проверочный код был создан в последние 12 часов (в промежутке 12-24 часа).
Использование
if( wp_verify_nonce( $nonce, $action ) ){ // проверка пройдена }
- $nonce(строка) (обязательный)
- Код nonce, который нужно проверить. Обычно он передается в запросе: $_POST['_wpnonce'].
- $action(строка)
Ключ, который был указан при создании nonce кода.
Это необязательное значение, которое передается функции: wp_create_nonce('значение'). Если значение не было указано при создании ключа, то и тут его можно не указывать - проверка будет пройдена.
По умолчанию: -1
Примеры
#1 Пример проверки передаваемых данных по $_GET запросу:
<?php $nonce= wp_create_nonce('my-nonce'); ?> <a href='myplugin.php?_wpnonce=<?php echo $nonce ?>&data=какие-то данные'> ... <?php // проверяем данные if( wp_verify_nonce( $_GET['_wpnonce'], 'my-nonce') ){ // обрабатываем данные формы } else { die('Проверка не пройдена!'); } ?>
Список изменений
С версии 2.0.3 | Введена. |