2016-05-24 11 views
1

APIからAJAXコールを使用してデータを取得しているとします。 (例えばthemoviedb)AJAXリクエストで秘密鍵を確保する

APIからデータを取得できるようにするAPIキーが必要ですが、私は、このキーを悪用した場合の国民にこのAPIキーを表示したくありません。

PHP関数を経由するのではなく、このキーが保護されているかどうかを確認するソリューションはありますか?

$.ajax({ 
    type: "POST", 
    url: "http://api.themoviedb.org/3/search/movie?query=" + data + "&api_key=xxxxxxxxxxxxxxxxxxxxxx", 
    dataType: 'jsonp', 
    data: { 
     data: data, 
    }, 

    success: function (resData) { 
     // whatever functions here 
    } 
}) 
+1

クライアントは、あなたが渡したものを見ることができ、プレーンテキストと見なす人が誰でもアクセスできるようになります。これを秘密にする必要がある場合は、セキュリティ保護されたサーバー上で別の抽象レベルでAPIコールをカプセル化する必要があります。 –

答えて

6

いいえ、ありません。それは完全に不可能です。

秘密鍵をクライアントに配布する代わりに、クライアントのサードパーティ要求を行うことができる独自のAPIを公開することによって、サーバー側の鍵を保管し、リソースを「プロキシ」します。

独自のAPIでは、任意の調整と認証の方法を使用できます。