簡體   English   中英

如何在asp.net中保護/加密查詢字符串?

[英]How can you secure/encrypt your querystring in asp.net?

我想知道你如何在一個簡單的asp.net頁面加密/解密你的查詢字符串? 某些值需要在不同頁面之間傳遞,但查詢字符串不能更改或讀取。

有人說httphandles可能是解決這個問題的方法。

有什么想法嗎?

更多背景信息:

你好所有的評論。 這就是問題所在,有時候會話會毫無理由地消失(好吧必須有一個,但我還不知道)。 我已經研究了可能的原因,但沒有任何可能導致它發生的事情。 所以我不能再依賴它了。 cookie解決方案是可能的,但實現起來比簡單地使用查詢字符串更多。 網址可以隨時復制,只是沒有改變!

干杯,M。

您必須使用.Net加密之一手動加密它。 實際上這不是查詢字符串的用途。 如果您不希望用戶能夠訪問它,您應該找到一種不同的方式在頁面之間傳遞它。

這是一個項目,將向您展示如何進行對稱加密。 http://www.codeproject.com/KB/security/SimpleEncryption.aspx

我敢提一下,因為它會產生很大的開銷,但你可以在視圖狀態下發布信息並使用跨頁面帖子來傳遞信息:

http://www.velocityreviews.com/forums/t119789-view-state-in-previous-page-using-cross-page-postback.html

我需要這樣做,僅供參考,這是我選擇的解決方案。

使用HTTPModule進行加密和解密。 然后將模塊放在web.config中。

在這里找到它: https//madskristensen.net/blog/httpmodule-for-query-string-encryption/

來自文章:

我們需要的是一個HttpModule,可以將加密的查詢字符串轉換為正常的可讀字符串,這樣我們仍然可以使用像Request.QueryString [“user”]這樣的舊邏輯。 換句話說,我們希望用戶看到這一點

?ENC = VXzal017xHwKKPolDWQJoLACDqQ0fE // wGkgvRTdG / GgXIBDd1

而你的代碼看到了這一點

?用戶= 123&帳戶= 456。

本文中的示例代碼包含您要添加的模塊。

如何將所需的值添加到Viewstate? Viewstate可以為您加密和驗證。

ViewState["myKey"] = "myValue";

然后是

string myValue = ViewState["myKey"]

要啟用加密:

<%@Page ViewStateEncryptionMode="Always" %>

要么

<configuration>
   <system.web>
      <pages ViewStateEncryptionMode="Always" />
   </system.web>
</configuration>

這是一個項目,將向您展示如何進行對稱加密。 http://www.codeproject.com/KB/security/SimpleEncryption.aspx

我敢提一下,因為它會產生很大的開銷,但你可以在視圖狀態下發布信息並使用跨頁面帖子來傳遞信息:

http://www.velocityreviews.com/forums/t119789-view-state-in-previous-page-using-cross-page-postback.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM