2011-06-30 75 views
1

我已經編寫了從URL中獲取PIN碼的代碼,然後加密了PIN碼。我知道要將加密的「密鑰」放回到URL而不是原始PIN。如何才能做到這一點?如何替換查詢字符串中的值?

我搶引腳通過:

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

是否有這方面的一個相反把它放回網址是什麼?

非常感謝。


感謝您的反饋。 是的,我知道這一點,但沒關係,因爲它只是爲了學習的目的。敏感信息不會被使用。

這只是我正在研究的一個小程序。

現在的工作,唯一的問題是使用後:

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

我似乎無法顯示頁面上的任何東西;例如更新標籤。

+1

Request.QueryString是用戶發送給您的查詢。你爲什麼想改變它?對於線下的代碼?或自己提出另一個要求?或者在某處輸出更新的URL? – Thilo

回答

5

您將不得不重定向到具有「已調整」查詢字符串的頁面;

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

但是,像這樣的信息不應該真的在查詢字符串中發送,即使它是加密的。使用Session或甚至更好的適當的會話管理器並在其中存儲信息。

個人從來沒有存儲在查詢字符串什麼,但不得不承認,它可能在某些情況下發生的。

想一想更多關於這一點,我注意到,你顯然將當前查詢字符串中用戶的'Pin'發送到另一頁。請考慮一下這方面的安全考慮。爲了增加我的觀點可能不使用查詢字符串的一些信息;

你應該MOST絕對不是將它用於敏感信息,如本。

這將存儲在各個地方,任何人都可以輕鬆訪問,並且可能會導致用戶帳戶的妥協。

+0

+1不能同意更多 –