Безопасная передача значений переменных с одной страницы на другую - PullRequest
1 голос
/ 04 февраля 2011

При передаче переменной с одной страницы на другую

Чтобы пользователь не возился с параметром URL Значения

Лучше ли ...

1) передать переменную через сессию

2) передать переменную в URL вместе с подписью

Ответы [ 4 ]

4 голосов
/ 04 февраля 2011

Пока вы передаете подпись, не имеет значения, куда вы передаете значения, потому что вы всегда будете проверять целостность подписи

Что бы я сделал - это передать все (включаяподпись) в сессии.Просто чтобы сохранить URL в чистоте.Но это зависит от вас и вашего конкретного случая использования.

1 голос
/ 04 февраля 2011

Если вы используете сеанс, пользователь не может контролировать содержимое значений.

Также, если у вас включено шифрование состояния просмотра , вы можете использоватьсостояние просмотра.Преимущество состояния просмотра заключается в том, что оно локализовано на одной странице.Это означает, что, когда у пользователя открыты две вкладки вашего веб-сайта, переменные локализуются для определенных вкладок.

См. http://www.codeproject.com/KB/viewstate/AccessViewState.aspx, как получить доступ к состоянию просмотра с другой страницы.

0 голосов
/ 04 февраля 2011

Зависит от вашего варианта использования.Сессия в большинстве случаев безопаснее.Если кто-то может скомпрометировать ваш сервер, чтобы получить данные вашего сеанса, у вас есть о чем беспокоиться.Хотя было бы плохо, если бы вы хранили данные сеанса в месте, где их могли видеть другие люди;Поскольку параметры, вероятно, короткие и иногда могут быть предсказуемыми, это может дать кому-то, кто знает о шифровании, некоторую точку атаки.Это не тривиально, хотя.Но если безопасность для вас самый лучший вариант, я бы не позволил этим данным покинуть ваш сервер.

0 голосов
/ 04 февраля 2011

Если вы действительно обеспокоены тем, что пользователь сходит с ума и удаляет параметры, тогда вы можете переходить в состояния сеанса, однако вы можете потерять историю, т.е.

Второй вариант выглядит хорошо, но если пользователь удаляет что-то, вы не можете быть уверены, что этот параметр даже существует.

Так что сочетание обоих выглядит хорошо.

...