2009-12-31 38 views
1

我使用隱藏變量(input type = hidden)將ID信息存儲在頁面上。爲了防止攻擊者,我決定使用System.Security.Cryptography加密存儲的數據。使用javascript解密數據 - ASP.NET網站

隱藏變量在JS中訪問並執行驗證邏輯。在執行驗證邏輯之前,我需要解密數據。有沒有辦法解密使用加密的JS中的數據System.Security.Cryptography

+3

如果您可以在客戶端使用JavaScript進行解密,那麼攻擊者也可以。由於這個原因,這種方法是有缺陷的。驗證邏輯也需要在服務器端完成。您絕不應該相信客戶端驗證可能會損害您的網站。 – 2009-12-31 14:34:48

回答

8

如果您可以在客戶端使用JavaScript進行解密,那麼任何攻擊者都可以解密。由於這個原因,這種方法是有缺陷的。驗證邏輯也需要在服務器端完成。您絕不應該相信客戶端驗證可能會損害您的網站。

+1

同意。任何驗證邏輯都應該在服務器端發生。 你不能相信在客戶端發生的任何事情。 – selfawaresoup 2009-12-31 14:40:11

+0

爲了方便(無往返),我做了JS驗證,並在服務器端驗證,因爲我不信任客戶端腳本。採用這種方法,我必須消除客戶端驗證? – Nick 2009-12-31 14:43:15

+0

@TechPriester相當正確。我使用Java Script進行客戶端格式化驗證以及whatnot驗證,但我仔細檢查了服務器端驗證。我甚至在客戶端使用它的唯一原因是爲用戶提供有關格式的即時反饋(類似於信用卡號碼框中的字母等)。 – 2009-12-31 14:45:56

相關問題