2012-05-21 41 views
0

我正在使用MVC3。我有幾頁不需要認證,但這些頁面有querystrings可能被篡改。我打算在發送給用戶時加密這些URL並在它們碰到時將其解密,在MVC3中加密和解密查詢字符串的最佳方式是什麼?給我一個指針如果有任何模塊,我可以重用...加密和解密MVC3中的查詢字符串

+0

如果你的querystrings容易被篡改,那麼你肯定依靠默默無聞的安全?不加密查詢字符串並僅在服務器上應用適當的權限會更好嗎 - 您已經對用戶進行了身份驗證,不應該太難做。 –

+0

感謝大衛的迴應,但我無法驗證這些頁面,我也不能在服務器上添加權限,這些都是免費的信息收集表單,最終更新數據庫。舉一個例子來收集邀請參加活動的嘉賓的一些信息,但嘉賓不會登錄以更新信息,在這種情況下該怎麼辦? –

+1

對不起,誤解了你的問題。 「不需要」。得到它了。建議你爲每個訪客引入一些類似Guid的東西,這是一個不可猜測的代碼,可以在URL中使用,而不必去加密路由。 –

回答

0

爲什麼不信任另一種存儲機制,而不是查詢字符串?您可以通過POST操作傳遞信息,有幾種方法可以做到這一點,例如緩存或其他。 Post會自動將該信息放在請求標題上,並將其隱藏給用戶,同樣,如果您的站點通過SSL連接,則該信息將被編寫。

您可以通過集成的MVC安全功能(例如@ Html.AntiForgeryToken())來提高站點對惡意軟件請求的安全性,從而防止惡意網站試圖繞過您的系統冒充真正的請願。在堅果殼中,這意味着當表單被髮送到客戶端時,表單頭上會打印一個唯一的ID,並且如果ID不等於服務器期望的ID,那麼該請求將被忽略。

繼承人一個有趣的職位,可以幫助你。

https://sites.google.com/site/muazkh/asp-net-mvc-security-and-hacking-defense-in-depth

最好的問候!