2016-07-29 169 views
0

通過js使用API​​密鑰調用API時,通常採取了哪些措施來防止API密鑰被盜用?調用服務器端可能會更適合這種情況,但API調用需要完全通過js完成的場景呢?如何防止apikey被盜?

回答

1

我覺得你不行。如果API調用是從客戶端(例如Web瀏覽器)執行的,則用戶將能夠檢查傳出流量並查看API密鑰。在這種情況下,我可以考慮兩種解決方法:

  • 向您的後端發出AJAX請求並在您的後端執行API調用。它可能會比較慢,因爲會執行兩個http請求,但客戶端永遠無法訪問祕密API密鑰。

  • 如果您可以控制API後端,請修改身份驗證策略以避免使用單個共享API密鑰。

+0

難道整個js文件都不會被模糊處理嗎?這會混淆包括API密鑰 – user6581627

+0

在內的所有內容。您的問題不是有人可以閱讀您的代碼。問題是即使沒有讀取代碼,Web瀏覽器也會執行混淆代碼並執行一個清晰且簡單的HTTP請求,用戶可讀 – Bustikiller

+0

是「自動清除和e」的iPhone自動更正? – user6581627