2011-02-04 322 views

回答

4

只要你傳遞一個西尼亞那麼你在哪裏傳遞值並不重要,因爲你總是會檢查簽名的完整性

我會做的是在會話中傳遞所有內容(包括簽名)。只是爲了保持URL清潔。但這取決於你和你的特定用例。

0

如果您真的擔心用戶瘋狂並剝奪參數,那麼您可以使用會話狀態,但是您可能會丟失歷史記錄,例如後退前進按鈕。

第二個選項看起來不錯,但如果用戶剝離的東西,你不能確定參數甚至存在。

所以兩者的組合看起來不錯。

1

如果使用會話,用戶無法控制值的內容。

此外,如果您啓用了view state encryption,則可以使用視圖狀態。視圖狀態的優點是它被本地化爲一個頁面。這意味着當用戶有兩個選項卡打開您的網站時,這些變量被本地化爲特定的選項卡。

有關如何從另一個頁面訪問視圖狀態,請參閱http://www.codeproject.com/KB/viewstate/AccessViewState.aspx

+0

但是,您不能使用ViewState在OP頁面之間傳輸數據。 – 2011-02-04 06:48:37

0

取決於您的用例。會話IS在大多數情況下更安全。如果有人可以危害您的服務器以獲取會話數據,那麼您有不同的擔心。如果將會話數據存儲在其他人可以看到它的地方,那將會很糟糕;-)。

URL簽名在理論上可能是強制性的。由於這些參數可能很短,並且有時可以預測,因此可能會讓某個知道加密攻擊點的人知道。這並不是微不足道的。但是,如果安全性是您的首選,那麼我不會允許這些數據離開您的服務器。

相關問題