Intereting Posts
Как отличить пользовательскую регистрацию пользователя hook_update, пользовательский пароль для сброса пароля или профиль пользователя? Измените функцию плагина, выводимую из другого плагина Лучший способ изменить страницу профиля Скрыть пользовательский тип сообщения из диспетчера меню навигации Datepicker не поддерживает timepicker Выводить пользовательский контент не из таблицы сообщений? Как локализовать admin-ajax.php, который используется в Ajax Load More – Infinite Scroll? Как определить, зарегистрирован ли администратор вне цикла Сортировка сообщения по атрибутам 'order' Включение файлов PHP не работает за пределами Localhost Какие функции включены в apply_filter ('the_content') Коррумпированная база данных WordPress Как получить последний отрывок из определенной категории? Как установить отношения между книгами и авторами? URL изображения изменен в wordpress

Как я могу безопасно использовать $ _SERVER , чтобы избежать XSS?

Я видел много предупреждений об использовании $_SERVER['REQUEST_URI'] потому что он может открывать вещи до XSS, но я не смог найти ничего, подтверждающих безопасный способ его использования. Некоторые люди упомянули об использовании esc_url() , но я не смог найти ничего, подтверждающего, как безопасно его использовать. Это мое лучшее предположение, безопасно ли это предотвратит атаки XSS?

echo esc_url(( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);

Если я хочу использовать URL-адрес внутри, а не отображать его, кажется, мне нужно использовать esc_url_raw() . Это тоже безопасно?

$pageurl = esc_url_raw(( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);

Solutions Collecting From Web of "Как я могу безопасно использовать $ _SERVER , чтобы избежать XSS?"

Если вы печатаете URL-адрес, скажите передним концом … то есть он будет отображаться как обычный URL-адрес посетителя и т. Д., Тогда:

 esc_url() 

Если вы собираетесь использовать URL-адрес, например, в редирект WordPress (или что-нибудь еще, что отправляет http-заголовок «location»), вам понадобятся:

 esc_url_raw() 

На самом деле это основа и исправление этой недавней уязвимости безопасности: https://blog.sucuri.net/2015/04/security-advisory-xss-vulnerability-affecting-multiple-wordpress-plugins.html