Описание функции wp_nonce_field()
Функция wp_nonce_field() создает скрытое поле в HTML-форме, которое содержит nonce — уникальный токен, используемый для защиты от CSRF-атак. Она добавляет два скрытых поля: одно для nonce и одно для действия. Эта функция используется, когда необходимо проверить, что запрос отправлен от пользователя, который имеет право выполнять определенные действия.
Используется в административной панели и на фронтенде плагинов и тем.
Параметры
$action
Тип: string
Обязательный: Да
Описание: Имя действия, к которому относится nonce
Возможные значения:
$name
Тип: string
Обязательный: Нет
По умолчанию: ‘nonce’
Описание: Имя поля nonce (по умолчанию ‘nonce’)
Возможные значения:
$referer
Тип: bool
Обязательный: Нет
По умолчанию: true
Описание: Определяет, нужно ли добавлять поле для реферера (по умолчанию true)
Возможные значения:
0: 1
1:
Возвращаемое значение
Тип: void
Описание: Функция выводит HTML-код для скрытых полей nonce
Возможные значения:
Примеры использования
Создание nonce для специфического действия
wp_nonce_field('my_action');
// Это создаст скрытое поле с nonce для 'my_action'
Без дополнительных параметров
Создание nonce с кастомным именем поля
wp_nonce_field('my_action', 'my_nonce_field', true);
// Создает поле с именем 'my_nonce_field'
Поле реферера будет добавлено
Безопасность
Валидация входных данных: Параметры action и name должны быть строками
Санитизация: WordPress автоматически очищает входные параметры
Рекомендации: Используйте wp_verify_nonce() для проверки отправленного nonce на сервере
— Связанные функции
Проверяет валидность nonce
Проверяет nonce для административных действий
— Примечания
– Ограничения
Nonce имеет срок действия, обычно 24 часа
– Частые проблемы
- Неверный nonce вызывает ошибку при проверке
- Не забудьте вызывать wp_nonce_field() перед формой