Intereting Posts
Каковы идеальные крючки для вызова register_sidebars? Невозможно добавить внешние перезаписи Как исправить ошибки смешанного содержимого в инструменте настройки темы, когда ваш администратор использует SSL? Изменить SKU для отображения на странице продукта Yoast SEO Plugin: Double Title isse Условный: текущий пользователь обновил сообщение за последние X дней Перепишите для Архивов одной пользовательской таксономии и нескольких CPT Отменить привязку почтового ящика почтового ящика Разве я не понимаю плагинов? Добавить специальный мета-ящик в пользовательский тип сообщения Помещение тега <a> вне тега <li> в сгенерированном меню обновить плагин расширенный поиск Как вызвать заказ электронной почты WooCommerce? Личный кабинет: конкретный контент метаболизма «последние отредактированные страницы» для каждой роли пользователей Как заставить ползунок nivo отображать выдержку

Могу ли я доверять пользовательскому вводу в wp_redirect ()?

Я делаю небольшой плагин, который делает это:

$Path=$_SERVER['REQUEST_URI']; wp_redirect( 'http://old.example.com'.$Path ); exit; 

Я думаю, что это безопасно, даже если в функции есть пользовательский ввод (запрос uri), в любом случае это должно быть эквивалентно прямому набору old.example.com/malicious_url, правильно?

Solutions Collecting From Web of "Могу ли я доверять пользовательскому вводу в wp_redirect ()?"

Вы не можете доверять пользовательскому вводу. Всегда готовьте значение, которое вы хотите использовать в своем собственном коде. Пример:

 $path = filter_input( INPUT_SERVER, 'REQUEST_URI', FILTER_SANITIZE_URL ); if ( $path ) { $url = 'http://old.example.com' . $path; $url_escaped = esc_url( $url ); $status = 301; $message = "Moved to <a href='$url_escaped'>$url_escaped</a>."; wp_redirect( 'http://old.example.com'. $path, $status ); wp_die( $message, 'Moved', $status ); }