Intereting Posts
Блокировать стиль wordpress для моей страницы администрирования плагина Прикрепленное сообщение появляется дважды Как запросить ссылку на основной сайт WP Multisite Активированный плагин хранится как объект, а не как путь Сделать меню навигации в том же сообщении Как переопределить WP_DEBUG для ответов Ajax? Как правило, базовая база категорий будет такой же, как и проблемы с постоянной позицией Правила перезаписи HTTPS в HTTP не работают должным образом Как настроить found_posts так, чтобы он учитывал смещение и разбиение на страницы Переименование медиафайлов, созданных при загрузке Получить общее количество авторов на сайте Вождение случайной цитаты, такой как функциональность с базой данных Как добавить страницы в структуру пользовательского типа URL-адреса? Скрипты, внешние по отношению к WordPress, вызывают 404 ошибки Опубликовать / обновить сообщение изменяет ссылки на изображение из файла url, чтобы отправить URL

В каких запросах SQL / WordPress потребуется nonce?

Я разработчик PHP / JavaScript, и я новичок в WordPress. Сайт нашей компании основан на WordPress. Однако я создал много настраиваемых страниц PHP, не обращая внимания на структуру WordPress.

При создании форм для редактирования вещей, таких как сообщения, я замечаю, что многие вещи не работают должным образом с запросом $ wpdb-> (вставьте некоторый SQL здесь), но часто работают с WordPress wp_update_post () или update_post_meta () , и т.п.

Интересно, это связано с тем, что пользовательские запросы требуют проверки nonce? Я также новичок в nonces, но меня часто путают при работе с SQL, чтобы получить или отредактировать данные из базы данных WordPress, как и когда я буду носить.

С другой стороны, разве какие-либо функции WordPress не выполняют специальные проверки nonce?

Solutions Collecting From Web of "В каких запросах SQL / WordPress потребуется nonce?"

Вы можете быть немного смущены относительно цели и функции nonces в WordPress.

Рекомендуемое чтение:

  • WordPress Nonces
  • Введение в WordPress Nonces с примерами
  • Protect_Queries_Against_SQL_Injection_Attacks

Nonce – это «номер, используемый один раз», чтобы защитить URL-адреса и формы от определенных типов злоупотреблений, вредоносных или других.

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

Он не имеет никакого отношения к использованию класса wpdb .

Как было показано в предыдущем вопросе, ваш запрос не работал из-за неправильного синтаксиса SQL.

Хорошим правилом является то, что URL-адреса или формы, особенно те, которые выполняют любые действия в вашей базе данных, всегда должны сопровождаться nonce, с помощью которых вы можете проверить действительность запроса.

Затем при вставке данных в базу данных, если вы должны писать необработанные SQL-запросы, вам следует использовать wpdb класс wpdb , в частности $wpdb->query() метод $wpdb->prepare() для проекта против SQL инъекции: Protect_Queries_Against_SQL_Injection_Attacks

Под капотом при использовании таких функций, как wp_insert_post или wp_update_post , WordPress вызывает либо $wpdb->insert() либо $wpdb->update() который в свою очередь вызывает $wpdb->query( $wpdb->prepate() ) , поэтому он заботится о санитации для вас.

Вот почему рекомендуется использовать основные функции WordPress при вставке или обновлении сообщений, postmeta, пользователей, usermeta и т. Д.

Таким образом, обязательно прочтите приведенные выше ссылки, так как они помогут вам лучше понять, что такое nonces, когда вы должны их использовать и как это сделать.