Для веб-приложения я хочу позволить пользователям просматривать и редактировать записи, которые они сделали ранее, через форму браузера. В своем письме-подтверждении они получают ссылку доступа с секретным токеном, например http://myapp.com/edityourstuff/hdD8sF2m
. При нажатии на эту ссылку отображается форма, в которой они могут редактировать существующие данные, отправленные ранее.
Это не так безопасно, как комбинация имени пользователя и пароля, но гораздо более удобно и подходит для моей ситуации.
Однако я хочу сделать это максимально безопасным.
GET URLs
Если раскрыта ссылка, содержащая маркер секретного доступа, доступ к данным могут получить посторонние лица. Здесь я обеспокоен общими / общедоступными компьютерами.
Я планировал решить эту проблему следующим образом:
- Доступ к
/edityourstuff/ds8sdfhe
по ссылке в электронном письме
- Запустите сеанс, сохраните там секретный токен
- перенаправить на очистку
/edityourstuff
без токена
- Приложение теперь имеет доступ к токену в сеансе и может отображать форму соответствующим образом. И строка URL не показывает это.
Мой вопрос теперь таков: сохраняют ли браузеры начальный URL, который сразу перенаправляет на чистый URL в своей истории?
Я знаю, что разные коды состояния перенаправления HTTP (301, 302, 303) теоретически имеют разные варианты использования. Есть ли какая-либо информация о том, как разные браузеры обрабатывают разные коды перенаправления в отношении (не) сохранения исходного URL в истории браузера?