Где хранится WordPress nonces?

Я пытался выяснить, где WordPress хранит все nonces. Но не смог найти подсказки. Сначала я проверил базу данных, но не смог найти таблицу с именем wp_nonces.

Я разместил этот вопрос 11 месяцев назад.

Все ответы, которые я получил, были великими и очень помогли мне.

Но ни один из них не адресовал место хранения WordPress nonces. Это был мой реальный вопрос.

Итак, я выкопал исходный код WordPress и смог найти правильное место хранения WordPress nonces.

Они хранятся в пользовательских сеансах.

Это уникальные маркеры, хранящиеся в сеансе пользователя. Nonces имеют определенный срок службы.

Если пользователь выходит из WordPress, нонцы больше не будут действительны.

PS: Я задал этот вопрос, и теперь я отправляю этот ответ, чтобы помочь другим 🙂

Nonces не хранятся непосредственно в любом месте, они создаются с помощью функции wp_create_nonce и проверяются с помощью wp_verify_nonce .

Эти функции, в свою очередь, используют wp_hash для хэша вместе с продолжительностью жизни, пользовательской строкой, user_id и токеном сеанса, хранящимся в wp_usermeta, с ключом session_tokens .

Nonces – это одноразовые токены, созданные WordPress для проверки различных запросов, таких как добавление комментария, удаление сообщения, удаление пользователя и т. Д.

Они не хранятся нигде, и они не должны быть.

Возьмем следующий пример; при управлении контентом в WordPress ссылка Bin может выглядеть примерно так:

http://www.example.com/wp-admin/post.php?post=1337&action=trash&_wpnonce=369f188682

Однако, если вы попытались изменить идентификатор страницы / сообщения в URL-адресе на что-то еще ( см. Ниже ), то nonce больше не будет действительным, вернет ошибку 403 и отобразит: «Вы уверены, что хотите сделай это?"

http://www.example.com/wp-admin/post.php?post=9100&action=trash&_wpnonce=369f188682

Добавление скрытого поля _nonce (возьмите Contact Form 7 в качестве основного примера), как правило, является хорошей практикой при внедрении форм в WordPress, поскольку это предотвращает подделку запросов на межсайтовый запрос (CSRF) и т. Д.

Ресурсы:

  • WordPress Nonces
  • данное время
  • Подделка запросов на межсайтовый запрос