Описание функции wp_sanitize_redirect()
Функция wp_sanitize_redirect() предназначена для безопасной обработки URL-адресов перед выполнением перенаправления. Она проверяет и очищает URL, чтобы предотвратить возможные атаки, такие как открытые редиректы и XSS. Функция используется в случаях, когда необходимо перенаправить пользователя на другую страницу, гарантируя при этом, что целевой URL безопасен и валиден.
Эта функция особенно полезна при работе с пользовательскими URL-адресами, формами и в контексте плагинов, где важна безопасность редиректов.
Параметры
$location
Тип: string
Обязательный: Да
Описание: URL-адрес для перенаправления
Возможные значения:
Возвращаемое значение
Тип: string|false
Описание: Очищенный URL-адрес или false в случае ошибки
Возможные значения:
• Очищенный URL при успешной валидации
• false при некорректном URL
Примеры использования
Санитизация и редирект на безопасный URL
$redirect_url = wp_sanitize_redirect('https://example.com');
// Редирект на очищенный URL
wp_redirect($redirect_url);
Пользователь будет перенаправлен на example.com
Обработка случая, когда передан некорректный URL
$redirect_url = wp_sanitize_redirect('invalid-url');
if ($redirect_url === false) {
// Обработка ошибки
echo 'Некорректный URL';
}
Вывод сообщения о некорректном URL
Безопасность
Валидация входных данных: Проверка на корректность URL осуществляется внутри функции
Санитизация: URL очищается от потенциально опасных символов
Рекомендации: Не используйте без предварительной проверки пользовательские URL для редиректов
— Связанные функции
Выполняет фактический редирект на указанный URL
Санитизирует URL перед выводом
— Хуки
Фильтрует URL перед его санитизацией
— Примечания
– Ограничения
Не проверяет доступность URL, только его корректность
– Частые проблемы
- Некорректный формат URL (не будет перенаправлено)
- Проблемы с относительными URL, которые могут не сработать