2012-09-25 33 views
1

我建立一個應用程序,將通過AJAX做了很多,很多人將不得不採取一個用戶ID或documentid,PHOTOID等應該將ID加密爲AJAX調用?

什麼被認爲是最好的做法與這些ID,他們應該被加密(甚至在被放入html頁面之前?),還是隻是發送它們?

+0

你在用什麼語言? –

+0

客戶端安全不起作用 –

+0

@GungFoo可以不將ID發送到客戶端加密,然後在ajax調用中加密並解密服務器端? – Kyle

回答

1

這取決於你對ID做什麼。我們正在構建一個在服務器上無狀態的應用程序,因此我們將ID作爲請求的一部分發送,以便檢索實體,應用必要的業務邏輯並將其保留。在這種情況下,我們肯定需要加密ID以防止Insecure Direct Object Reference

還有其他選項,例如,您可以在對該實體進行任何更改之前對服務器上的實體應用授權。這當然假定您具有身份驗證功能。在我們的情況下,我們不認證,因此這種授權無論如何不會工作。

只是對此進行更新,我們並不需要客戶端上未加密的ID,因此它的服務器會對其進行加密併發送第一個響應。隨後發出的請求包含加密的ID。

1

如果您確實想要隱藏某些行的ID(從數據庫?),您可以簡單地對它們進行異步加密並將它們設置爲cookie。這樣,您在執行ajax請求時就不必關心他們,因爲他們無論如何都可用。

如果您想要做一些選擇並將它們作爲表單提交的結果發送,則不使用cookie的相同加密方法也適用。

但說實話,我幾乎沒有看到任何理由來加密數據庫ID。