新標題:保護API金鑰:在客戶端JavaScript中隱藏的方法
P粉521748211
P粉521748211 2023-08-24 10:22:46
0
2
622
<p>現在我正在編寫一個客戶端JavaScript應用程序,該應用程式向USPS價格計算器API發出請求。為了進行此請求,我需要在請求的XML中提供我的API使用者ID。標籤如下:<code><RateV4Request USERID="ThisIsWhereMyUserIdGoes"></code>。我的問題是:有沒有辦法在JavaScript中提供我的使用者ID,同時仍然隱藏它,不讓使用者看到客戶端檔案。目前,我唯一的解決方案是在我的伺服器上建立一個包含使用者ID的PHP文件,然後在客戶端JavaScript中使用AJAX請求將其儲存在全域變數中。代碼如下:</p> <pre class="brush:php;toolbar:false;">var userID; $.get("/secrets.php", function( data ) { userID = data; });</pre> <p>這種方法足以防止我的API用戶ID被我的應用程式用戶看到嗎?還有其他辦法可以做到這一點? </p>
P粉521748211
P粉521748211

全部回覆(2)
P粉872182023

如果您在2020年閱讀此頁面,並且出於某種原因(節省託管成本等)不想開發伺服器端程式碼,無伺服器函數可能是解決方案。

這也從伺服器端呼叫第三方API,但您不必開發一個完整的伺服器端API代理。

Netlify有相關文件。我猜其他提供者如AWS Lambda、Google Cloud Function也提供類似的功能,但不確定。

https://github.com/netlify/code-examples/tree/master/function_examples/token-hider

優點 無需管理伺服器

缺點 供應商鎖定

P粉245276769

簡而言之:不,你不能在客戶端應用程式中保護你的API金鑰。

這篇文章詳細介紹了一些細節

兩個選擇:

  • 在伺服器端進行API調用,然後從那裡向客戶端提供資訊
  • 要求客戶端使用自己的API金鑰
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板