如果将客户端getjson()调用(&callback =)到IP地址限制的站点,他们会看到您的网站还是最终用户?
-
29-09-2019 - |
题
如果您的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 */ });
不隶属于 StackOverflow