Intereting Posts
Regex в add_rewrite_tag не принимает OR операторов? производительность детской темы / исключить импорт и минимизировать JS-файлы Добавить пользовательские мета-поля при создании пользователя Экран обратного вызова конечной точки для пользовательского плагина Кажется, не получается работать JQuery (плагин wordpress) Как получить идентификатор автора при просмотре страницы автора? Проверка наличия файла в медиатеке Попытка изменить отдельную страницу из пользовательского сообщения Есть ли причина, почему страницы не являются publicly_queryable? Удалить скрипт «enqueued» из массива Есть ли способ добавить еще один ряд к переключению кухонной раковины tinyMCE? Функция вызова jQuery.post () с параметром Когда я повторно сохраняю сообщение с разделами , объекты имеют двойное экранирование (> становится & gt; и т. Д.), Выделить сообщение в боковой панели на одной странице Самый простой способ сопоставить контент (в json) с представлением (шаблоном)?

Использование nonce при загрузке сообщений с помощью AJAX

Это вопрос безопасности. У меня есть макет блога, в котором есть загрузчик внизу моих сообщений, и когда вы доберетесь до него, будет запущен вызов ajax, он вызовет функцию, которая будет отображать больше сообщений.

Все это работает. Но меня беспокоит одно: следует ли использовать метод POST или GET ? GET не будет вызывать проблемы с nonce при выполнении кода с использованием phpcs , тогда как с POST я получаю

Обработка данных формы без проверки nonce

ошибка.

Теперь все, что я делаю, – это сбор сообщений из базы данных, вызывая функцию обратного вызова, которая подключена к действиям wp_ajax и wp_ajax_nopriv .

Должен ли я беспокоиться о безопасности в этом случае и добавлять поле nonce в своем блоге, или просто использовать GET метод?

Solutions Collecting From Web of "Использование nonce при загрузке сообщений с помощью AJAX"

GET ставит все ваши параметры на URL-адрес;

 http://example.com/thing?foo=bar&x=y 

Для POST вы можете включить всю эту информацию, но она не будет отображаться в URL-адресе.

 http://example.com/thing 

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

Но то, что вы можете потерять с помощью POST – это кеширование. Некоторые системы не будут кэшировать POST . Предполагая, что вы хотите погрузить кеш в GET запрос, вы всегда можете бросить кеш-бастер.

 http://example.com/thing?foo=bar&x=y&cache=234234234 

Where &cache=<current-time-or-random-number> . И, возможно, это то, что вы хотите для своих дополнительных сообщений. Чтобы не кэшировать их, вы всегда получаете свежий свежий. К сожалению, если вы делаете что-либо в масштабе, эта идея не удалась. Кэш – это король, и управление кешем идеально.

Введите TTL (время жить), где вы можете добавить, сколько времени вы хотите, чтобы ваш ресурс был кэширован на другом конце.

 header('Expires: '.gmdate('D, d MYH:i:s \G\M\T', time() + (60 * 60))); // 1 hour 

или nocache_headers() // no caching

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

  • Вы хотите передать свои данные в URL?
  • Должны ли вы быть заинтересованы в кешировании?
  • Как вы можете контролировать кеширование, чтобы сделать его оптимизированным для вашего контента и системы?