Как заменить значения в строке запроса? - PullRequest
1 голос
/ 30 июня 2011

Я написал код, который получает номер пин-кода из URL, а затем шифрует номер пин-кода. Я знаю, что хочу поставить зашифрованный «Ключ» обратно в URL вместо оригинального PIN-кода. Как это можно сделать?

Я хватаю булавку:

string Pin = Request.QueryString["PIN"];

Есть ли что-то противоположное этому, чтобы вернуть его в URL?

Большое спасибо.


Спасибо за ваш отзыв. Да, я знаю об этом, но это нормально, так как это только для учебных целей. Конфиденциальная информация не будет использоваться.

Это просто небольшая программа, над которой я работаю.

Теперь работает, единственная проблема в том, что после использования:

Response.Redirect("page.aspx?key=" + encryptedKey);

Я не могу ничего отобразить на странице; Обновление метки например.

1 Ответ

5 голосов
/ 30 июня 2011

Вам придется перенаправить на страницу с «скорректированной» строкой запроса;

var encryptedKey = EncryptPin(Request.QueryString["PIN"]);
Response.Redirect("page.aspx?key=" + encryptedKey);

Однако такая информация не должна передаваться в строке запроса, даже если она зашифрована.Используйте Session или, что еще лучше, надлежащий Session Manager и храните информацию в нем.

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

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

Вы должны САМОЕ ОПРЕДЕЛЕННО НЕ использовать его для секретной информации, такой как эта.

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

...