Безопасность вокруг save_post hook

Существует множество примеров использования save_post hook, которые включают добавление и проверку nonce, и проверка пользователя имеет соответствующие разрешения перед продолжением.

Это необходимо?

При обновлении / публикации сообщения WP проверяет нормальное значение nonce и сам проверяет разрешения, перенаправляя страницу 403 или «Вы уверены, что хотите сделать это?», Если что-то не проверяется. Таким образом, крючок даже не будет вызываться, если был сделан плохой запрос, так почему бы мне дважды проверить эти вещи?

Solutions Collecting From Web of "Безопасность вокруг save_post hook"

Крючок save_post вызывается каждый раз, когда кто-то вызывает функцию wp_insert_post() . Плагины делают это, к сожалению, некоторые темы тоже, и WordPress сам по нескольким местам, когда …

  • кто-то использует почту по электронной почте или XML RPC
  • создается автоматическая черновик
  • используется функция быстрого черновика на приборной панели
  • добавляется пункт меню навигации
  • создается ревизия

Вы действительно не хотите обрабатывать все эти действия без вашей собственной проверки.

Кроме того, nonces должен гарантировать, что действие не может быть повторено тем, кто слушает сетевой трафик другого человека. Теоретически , nonces предотвращают это. По умолчанию WordPress nonces не очень безопасны в этом отношении, потому что они могут быть повторно использованы. Но ваши пользователи, возможно, установили плагин, который создает реальные nonces. Вы действительно хотите обойти свои дополнительные меры безопасности? Возможно нет.