如果将客户端getjson()调用(&callback =)到IP地址限制的站点,他们会看到您的网站还是最终用户?

StackOverflow https://stackoverflow.com/questions/4113520

如果您的Web应用程序使用Web服务API调用到外部源,则其中一些来源将 基于IP地址的速率限制您.

如果您从 客户端JavaScript - 这意味着它们是由最终用户的浏览器操作触发的 - 远程网站 (寄回JSON数据) 查看您网站的IP地址或最终用户的IP地址 (出于此基于IP地址的利率限制的目的)?

我的理解是使用 &callback= 在数据源URL中,您将发布 JSONP 要求, 这意味着远程主机看到的地址是最终用户的地址,而不是网站的地址.

例如:

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

正确的调用会被视为来自最终用户的IP地址而不是来自Web应用程序的服务器IP地址的呼叫?

有帮助吗?

解决方案

他们看到了最终用户的IP,JSONP请求直接从用户的浏览器到指向的URL。您基本上通过进行JSONP调用将其添加到页面上:

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

这使得浏览器只能获取并运行该脚本,该脚本具有此内容:

someFunctioName({ /* data object */ });
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top