我們正在使用Asp.net MVC和AngularJS。我們希望將用戶的ID放在頁面上的某些靜態數據中。別擔心,我們使用[Authorize]屬性保證了所有MVC API控制器的安全。然而,將用戶的ID放在頁面上確實是一種風險有人問我,我真的不明白爲什麼不,但我仍然認爲這不是一個好主意。在頁面上放置用戶ID是否存在安全風險?
1
A
回答
1
這不是一個安全風險,知道用戶的ID不應該足以獲得任何機密信息。爲了獲得這些信息,你必須確保用戶已經過認證,例如使用授權屬性並在服務器端檢查是否允許登錄用戶執行當前操作。
0
在頁面上爲客戶端保留普通用戶標識可能會導致劫持風險。您需要授權所有請求才能執行此操作,並且他是這樣做的人員。例如,我有一個配置文件頁面,現在我在頁面中更改了我的用戶標識並更新了名字,您的代碼將無法捕獲此劫持,因爲已獲得授權,他可以更新配置文件。如果你想保留這個ID,請始終生成GUID,並將其保存在服務器端,並將其映射到用戶ID和GUID。每次用戶登錄時都可以生成GUID。它會避免GUID劫持,因爲它一直在改變。
您可以在數據庫中保留此映射以實現持久性,並將其保存在靜態變量或緩存中以字典形式快速從GUID映射到用戶標識。
Dictionary<string,int> mapping = new Dictionary<string,int>;
相關問題
- 1. 將用戶會話令牌存儲在localStorage中是否存在安全風險?
- 2. 發佈其他用戶的ID是否存在內在風險?
- 3. 資產使用/ bundles/path是否存在任何安全風險?
- 4. 使用<noscript>是否存在安全風險?
- 5. 是否使用dirname(__ FILE__)存在安全風險?
- 6. 內部HTTP調用是否存在安全風險
- 7. SP_OACreate,SP_OAMethod等的使用是否存在安全風險?
- 8. 在常規http而不是Https上使用Django管理頁面是否存在安全風險?
- 9. 應用用戶看到Paypal API返回的「payKey」是否存在安全風險?
- 10. JavaScript,通過JSON傳遞用戶ID是一種安全風險?
- 11. 查看公共文件,是否存在大的安全風險?
- 12. 此視圖是否存在安全風險?
- 13. WCF查詢攔截器:此MSDN是否存在安全風險?
- 14. 您認爲會話複製是否存在安全風險?
- 15. 在這種情況下是否存在安全風險設置EnableEventValidation =「false」?
- 16. 是否將$ _SESSION變量直接放入SQL中存在安全風險?
- 17. AHAH是安全風險嗎?
- 18. 頁面輸出500錯誤時是否存在XSS風險?
- 19. 設置SVN二進制文件的SUID/SGID位是否存在安全風險?
- 20. 沒有傳輸安全性的WCF用戶名認證存在安全風險?
- 21. WordPress - 安全風險?
- 22. 下面的php代碼是否有涉及安全風險?
- 23. 如果「博主身份證」是公開的,是否存在安全風險?
- 24. 是否告訴用戶該帳戶已被鎖定安全風險?
- 25. 在sqlite3.connect()中使用用戶輸入變量時是否存在安全風險?
- 26. 詳細的異常/錯誤消息是否存在安全風險?
- 27. 可以image.src是一個安全風險?
- 28. 使用int作爲主鍵存在安全風險嗎?
- 29. 使用Flex時存在什麼安全風險
- 30. 爲什麼使用'*'作爲postMessage的targetOrigin存在安全風險?
通常情況下,我用的GUID而不是整數的時候我必須使用用戶ID在公共場所(URL,回傳值,...) –
這取決於你與該用戶ID做什麼。你是否直接使用它在數據庫上做些什麼?那麼是的,這是不安全的,因爲惡意認證的客戶端可能會發布不同的用戶ID(以查看其他人的數據?以別人的名字發佈信息?)。這就是說,如果您從當前登錄用戶計算該用戶標識,那麼您並不需要從客戶端獲取該用戶標識。如果它更復雜一點,你至少應該對當前登錄的用戶進行驗證。 –