也許我正在尋求一些不可能的東西,但是我們在這裏試着找到一種方法來驗證對API的客戶端請求,但有些客戶端只能使用JavaScript發送他們的請求(他們使用不允許寫一行服務器端代碼的託管服務)。這意味着任何API密鑰,祕密或散列必須由JavaScript處理,實際上使它們無用。保護僅限JavaScript的客戶端以訪問遠程API
我已經看到一些使用嚴重混淆代碼的API,但在我看來,這種方法會帶來錯誤的安全感(可以通過JavaScript Beautifier輕鬆閱讀)。有沒有更好的方法?
在此先感謝所有的答案。
如果客戶端通過普通身份驗證過程(當然是https),並建立會話,那麼ajax API訪問將是安全的。這不夠好嗎? – Pointy 2012-04-05 20:53:45
@Pointy問題在於客戶端仍然需要以某種方式進行身份驗證,並且這意味着需要以純文本方式傳遞憑據(通過JavaScript,再次)。身份驗證不需要任何用戶交互。 – Diego 2012-04-05 21:06:26
@Diego是當我第一次閱讀時,我誤解了這種情況。如果沒有涉及用戶提供的「祕密」,並且JavaScript必須自動進行身份驗證,那麼您無法隱藏任何東西。 – Pointy 2012-04-05 21:08:15