Одноразовые числа

Одноразовые числа — генерируемые цифры, используемые для подтверждения происхождения и цели запросов в интересах безопасности. Каждое одноразовое число может быть использовано только один раз и включает в себя проверку возможности для подтверждения отправителя. Воспринимайте их как секретные приметы, чтобы убедиться, что действие корректно. (Для получения более подробной информации,  ознакомьтесь со статьей Mark Jaquith WordPress nonces)

В WordPress, проверка возможности гарантирует, что только те пользователи, которые имеют разрешение на удаление какой-то конкретной страницы смогут удалить ее. Но что, если кто-то, попытается обмануть вас, заставив нажать на эту ссылку? У вас есть необходимые возможности, чтобы непреднамеренно удалить запись. Одноразовые числа могут быть использованы для проверки, что текущий пользователь действительно намерен выполнить выбранное действие.

При создании ссылки для действия, используйте wp_create_nonce(), чтобы добавить одноразовое число к ссылке:

Аргумент, передаваемый функции гарантирует, что одноразовое число уникально для данного конкретного действия.

Затем, когда вы обрабатываете запрос на удаление ссылки, вы можете проверить, что одноразовое число, соответствует ожидаемому:

Заключение

При выполнении какой-либо операции преобразования данных, например, сохранения настроек формы или удаления записи, всегда следует убедиться, что пользователь, является тем, кем он на самом деле является и при этом у него есть пользовательские возможности для выполнения действий. Применение их в тандеме означает, что данные изменяются только тогда, когда пользователь ожидает, что они будут меняться.

Навигация по разделам:

2 комментария

  1. Сергей

    Одноразовое число — звучит, как-то не по русски. Привычнее слышать «токен». Но это так, лирика….

    Ответить
    • Eugene Kopich

      Да, была проблема с переводом. Nonce происходит от английского “Number used ONCE” (число, использующееся 1 раз — что я сократил до одноразовое число). Т.е. по факту это выдуманное слово, и кто как хочет, так и переводит). Почему WordPress не использовал термин token я не знаю, видимо решили заморочиться. Возможно вообще не стоит переводить этот термин или по аналогии token-токен, nonce-нонс. Вот еще статья по теме. Там и nonce и токены и одноразовые числа, все в одном месте)

      Ответить

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *