Я добавил функциональность своему администратору, чтобы он сохранял URL-адрес, к которому вы пытались обратиться, прежде чем он попросил вас войти в систему.Итак, если вы перейдете по адресу:
/admin/foo/bar?baz
Он перенаправит вас на:
/admin/auth/login
После входа в систему, до моегонадстройка функции вы всегда переходили на /admin/user/profile
.Прямо сейчас я сохраняю /admin/foo/bar?baz
в переменной сеанса, $_SESSION['from']
.
В логине <form>
скрытое значение принимает значение сеанса:
<input type="hidden" name="from" value="<?php echo htmlspecialchars($_SESSION['from'];)?>">
Затем, после отправки формы, происходит перенаправление:
header('Location: ' . $_POST['from'] );
Я видел другие вопросы, касающиеся XSS и htmlspecialchars, и знаю, что это не исправит все возможные попытки XSS, но будет ли это успешно работать против попыток XSS "низкого уровня"?