検索

ホームページ  >  に質問  >  本文

新しいタイトル: API キーの保護: クライアントサイド JavaScript の隠しメソッド

<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>
P粉521748211P粉521748211520日前655

全員に返信(2)返信します

  • P粉872182023

    P粉8721820232023-08-25 09:30:52

    2020 年にこのページを読んでいて、何らかの理由 (ホスティング コストの節約など) でサーバー側のコードを開発したくない場合は、サーバーレス機能が解決策になる可能性があります。

    これはサーバー側からサードパーティ API も呼び出しますが、完全なサーバー側 API プロキシを開発する必要はありません。

    Netlify には関連ドキュメントがあります。 AWS Lambda、Google Cloud Function などの他のプロバイダーも同様の機能を提供していると思いますが、定かではありません。

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

    ######アドバンテージ### サーバー管理は不要です

    欠点

    ベンダーロックイン

    返事
    0
  • P粉245276769

    P粉2452767692023-08-25 00:22:43

    つまり、いいえ、クライアント アプリケーションでは API キーを保護できません。

    この記事では詳細について説明します

    2 つのオプション:

    • サーバー側で API 呼び出しを行い、そこからクライアントに情報を提供します
    • クライアントに独自の API キーの使用を要求する

    返事
    0
  • キャンセル返事