新しいタイトル: API キーの保護: クライアントサイド JavaScript の隠しメソッド
P粉521748211
2023-08-24 10:22:46
<p>現在、USPS Price Calculator API にリクエストを行うクライアント側 JavaScript アプリケーションを作成しています。このリクエストを行うには、リクエストされた XML に API ユーザー ID を指定する必要があります。タグは次のようになります: <code><RateV4Request USERID="ThisIsWhereMyUserIdGoes"></code>。私の質問は、クライアントファイルが表示されているユーザーからユーザーIDを隠したまま、JavaScriptでユーザーIDを提供する方法はあるのかということです。現在のところ、私の唯一の解決策は、ユーザー ID を含む PHP ファイルをサーバー上に作成し、クライアント JavaScript で AJAX リクエストを使用してそれをグローバル変数に保存することです。コードは次のとおりです。 </p>
<pre class="brush:php;toolbar:false;">var userID;
$.get("/secrets.php", function( data ) {
ユーザーID = データ;
});</pre>
<p>このアプローチは、API ユーザー ID がアプリケーションのユーザーに表示されないようにするのに十分ですか?他にこれを行う方法はありますか? </p>
2020 年にこのページを読んでいて、何らかの理由 (ホスティング コストの節約など) でサーバー側のコードを開発したくない場合は、サーバーレス機能が解決策になる可能性があります。
これはサーバー側からサードパーティ API も呼び出しますが、完全なサーバー側 API プロキシを開発する必要はありません。
Netlify には関連ドキュメントがあります。 AWS Lambda、Google Cloud Function などの他のプロバイダーも同様の機能を提供していると思いますが、定かではありません。
https://github.com/netlify/code-examples/tree/master/function_examples/token-hider
######アドバンテージ### サーバー管理は不要です欠点
ベンダーロックインつまり、いいえ、クライアント アプリケーションでは API キーを保護できません。
この記事では詳細について説明します
2 つのオプション: