Описание функции wp_safe_redirect()
Функция wp_safe_redirect() используется для безопасной переадресации пользователей на другие страницы. Она проверяет, что указанный URL принадлежит сайту или указан в разрешенных адресах, что помогает предотвратить атаки типа открытого перенаправления. Функция обычно вызывается перед отправкой заголовков HTTP, чтобы корректно выполнить переадресацию.
Это особенно полезно в плагинах и темах, где требуется направить пользователей на определенные страницы после выполнения определенных действий, таких как вход в систему или отправка формы.
Параметры
$location
Тип: string
Обязательный: Да
Описание: URL-адрес, на который будет выполнена переадресация.
Возможные значения:
$status
Тип: int
Обязательный: Нет
По умолчанию: 302
Описание: HTTP статус код для переадресации. По умолчанию 302.
Возможные значения:
0: 301
1: 302
2: 303
3: 307
4: 308
Возвращаемое значение
Тип: void
Описание: Функция ничего не возвращает, а выполняет переадресацию.
Возможные значения:
• Переадресация на указанный URL
• В случае ошибки, может вызвать выход из скрипта
Примеры использования
Переадресация на страницу успеха с последующим выходом.
wp_safe_redirect('https://example.com/success');
exit;
Используйте exit() после вызова переадресации для завершения выполнения скрипта.
Постоянная переадресация на страницу благодарности.
wp_safe_redirect('/thank-you/', 301);
exit;
301 указывает, что переадресация постоянная.
Переадресация в зависимости от состояния входа пользователя.
$url = 'https://example.com/error';
if (is_user_logged_in()) {
wp_safe_redirect($url);
} else {
wp_safe_redirect('/login');
}
exit;
Если пользователь не вошел, он будет направлен на страницу входа.
Безопасность
Валидация входных данных: Функция проверяет, что URL безопасен для переадресации.
Санитизация: URL автоматически очищается для предотвращения уязвимостей.
Рекомендации: Избегайте использования пользовательских входных данных без проверки и фильтрации.
— Связанные функции
Функция для выполнения переадресации без проверки безопасности.
Функция для безопасного получения данных с удаленного URL.
— Примечания
– Ограничения
Функция может не работать должным образом, если заголовки уже отправлены.
– Частые проблемы
- Ошибка при попытке переадресации после вывода данных
- Неправильный URL может привести к ошибке 404