我有一个jquery插件,我正在使用jsonp来跨域调用一个jsp文件。我只想把jsp返回值限制到我们数据库中的特定网站。为了实现这一点,我需要以某种方式获得jsonp调用触发的网站的ip或url,而不是客户端/用户的ip。我已经尝试了http头中的referer值,但这对IE不起作用,我猜这也不是最好的解决方案。现在我该如何安全地从他的网站上调用我的jsp文件?
提前谢谢。
发布于 2012-01-04 22:23:46
最简单的答案是向每个网站发出一个唯一的密钥或包含在其请求中的其他标识符。您可以解析此标识符,并适当地调整响应。
但是,对于来自客户端浏览器的请求,您必须小心,并且必须评估您所说的如何“安全地”处理请求。(由于不受信任的客户端将发出请求,因此获取和重用这样的标识符将是一项简单的任务)……
Referrer (如果存在)可以用作双重检查,但正如您所指出的,这是不可靠的,并且来自不受信任的客户端计算机,这部分请求也可能是伪造的。
如果我们可以假设网站所有者进行了一些服务器端处理,你可以让他们为jsonp调用实现一个代理(这将确保这样的令牌永远不会落入浏览器手中)……但我们必须知道这样的保障措施是否真的值得:)
https://stackoverflow.com/questions/8727180
复制相似问题