Intereting Posts
Как создать фрагмент контента для повторного использования, с которым я могу передать значение? Присвойте описание по умолчанию новым терминам в рамках пользовательской таксономии Как добавить изображение в RSS-канал WordPress без плагина? Получать сообщения с несколькими метазначениями Перемещение jQuery в нижний колонтитул без использования де-регистра в WordPress Как получить shortcode для работы внутри цикла foreach, вызванного в рамках короткого кода? Виджеты не активируются после использования get_sidebar () Получать сообщения по мета-значению Показать сообщения из той же категории, используя следующую / предыдущую ссылку Контактная форма submit, нажав дважды поместить содержание одного сообщения в og: description Пользовательская высота / ширина для толстого ящика в WP Backend Продвижение сайта: сделанные публичные вопросы безопасности Как получить идентификатор привязки фонового изображения? Гипермархическое меню боковой панели

Как я могу безопасно использовать $ _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