我希望我的 API 密鑰被隱藏而不是公開暴露。
我可以想到幾種如何通過document.getelementbyId、傳輸 API 密鑰的方法.queryselector,input - hidden;但 API 密鑰仍將在 HTML 頁面上可見。
最好的解決方案是什么?
uj5u.com熱心網友回復:
這里要注意的重要因素是任何 JavaScript 都在客戶端機器上運行。
這是他們的機器,他們完全控制機器上運行的內容。
您可以縮小,可以混淆,可以嘗試所有可能的方法,但最終必須在客戶端瀏覽器中以某種方式重新制定 API 密鑰。而且由于客戶端的瀏覽器是他們的,因此您基本上可以對他們使用 API 密鑰執行的操作擁有 0 控制權。此外,客戶端瀏覽器中的網路選項卡將顯示 Web 應用程式發出的所有請求,包括使用 API 密鑰發送的請求。
如果它是需要 API 密鑰的第三方外部 API,則解決方案是讓端點為您執行身份驗證,充當前端應用程式和 API 之間的介面。
如果這是您自己的 API 并且您需要公開不應公開可用的 API 端點,則您將需要一種對用戶進行身份驗證的方法。從JSON Web 令牌開始將是一個很好的開始,但是您如何引入 JWT 將在很大程度上取決于您的應用程式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/334646.html
標籤:javascript C# asp.net asp.net核心
