我們有產品和產品圖像API,我們需要向客戶公開。我不想公開在我們的數據庫中生成的產品ID,因爲這些ID是順序ID,任何攻擊者都可以輕鬆更改。當我們通過JS使用這些API時,這些API並不安全,並將暴露給多個客戶端。如何防止從服務器暴露主要ID到用戶界面?
客戶端命中POST API /產品/和請求正文有產品詳細信息。
在響應中我們得到產品uri,即/ product/1 /。這裏1是產品ID。
此外,客戶使用該產品ID即插入像圖片:
/產品/ 1 /圖片/
我很擔心,我們揭露id和這些可以被任何人改變。我讀了this的事。但是我沒有清楚的知道在MVC環境下解決這個問題的正確方法。我們可以將stock_id存儲在「會話」存儲中,或者解決此問題的最佳方法是什麼?
「這些API不安全,因爲我們通過JS使用這些API,並將暴露給多個客戶端」聽起來像通過默默無聞的安全性 - 通常是一個壞主意。這就是說,uniqueidentifier列映射到C#中的Guid,並且不是連續的,除非您告訴數據庫使它們如此。 –