Я пытаюсь перенаправить пользователя на requested_page
после входа в систему, после поиска в Google, я попробовал этот код
ссылка на страницу входа
echo "<a href='/login.php?ref=". urlencode($_SERVER['REQUEST_URI']) ."'>login</a>";
и в логин. php
if ($_GET['ref'] != '') {
$url = $_GET['ref'];
} else {
$url = "/";
}
if ($user->login($username, $password)) {
$_SESSION['username'] = $username;
header("location:http://" . $_SERVER['HTTP_HOST'].$url);
exit();
}
Вышеописанный метод работает нормально, но он уязвим для XSS
login.php?ref=<script>alert(%27Malicious%20content%27)</script>
поэтому я добавил htmlspecialchars()
вот так
if ($_GET['ref'] != '') {
$url = htmlspecialchars($_GET['ref']);
} else {
$url = "/";
}
но он не перенаправлен, скорее он показывает 404 error
любую помощь как мне защитить от XSS атака