2

Web アプリが外部ソースへの Web サービス API 呼び出しを使用している場合、これらのソースの一部は、IP アドレスに基づいてレート制限を行います

これらの呼び出しをクライアント側の JavaScriptから行う場合 (エンド ユーザーのブラウザー アクションによってトリガーされることを意味します) 、リモート サイト(JSON データを送り返す)はサイトの IP アドレスまたはエンドの IP アドレスを認識しますか? -user (この IP アドレスベースのレート制限のため)?

私の理解では&callback=、データ ソース URL で を使用することにより、JSONPリクエストを発行します。つまり、リモート ホストから見たアドレスはエンド ユーザーのアドレスであり、サイトのアドレスではありません

例えば:

jQuery.getJSON(url+"&callback=?", function(data) {
    alert("Stock Symbol: " + data.symbol + ", Stock Price: " + data.price);
});

上記のような呼び出しは、Web アプリのサーバー IP アドレスからではなく、エンドユーザーの IP アドレスからのものと見なされるのは正しいですか?

4

1 に答える 1

7

エンド ユーザーの IP が表示され、JSONP 要求がユーザーのブラウザーから、それが指す URL に直接送信されます。JSONP 呼び出しを行うことで基本的に行っていることは、これをページに追加することです。

<script type="text/javascript" src="url?callback=someFunctionName"></script>

これにより、ブラウザは次のコンテンツを含むスクリプトを取得して実行します。

someFunctioName({ /* data object */ });
于 2010-11-06T14:38:00.957 に答える