有一个页面:http://renren.com/echo(不是真实的)将返回JSON样式数据,如:
{"candidate":[{"id":251574647,"name":"Jack"}]}
现在我在http://my-server.com,我想做一个跨域Ajax请求 由于http://renren.com的页面必须登录才能查看,因此我无法使用服务器代理 返回的JSON数据没有函数调用或赋值,因此我不能使用JSONP 我无权在renren.com上修改页面。在这种情况下我该怎么办?
答案 0 :(得分:0)
如果没有代理页面或控制数据的返回方式,我认为你不会做太多事情。
答案 1 :(得分:0)
您可以使用Apache's mod_proxy以域名为幌子执行此请求。将http://my-server.com/renren等网址配置为http://renren.com/echo的代理。
完成后,您可以将您的AJAX请求发送到http://my-server.com/renren,并避免跨域限制。
答案 2 :(得分:0)
Brian Chess等人描述的技术。人。在下面的论文中可能适用于这种情况。简而言之,您将覆盖用于处理传入JSON的javascript setter。
https://www.fortify.com/downloads2/public/JavaScript_Hijacking.pdf
当JSON数组到达时 客户端,它将在中进行评估 恶意页面的上下文。在 为了见证评价 JSON,恶意页面已重新定义 用于创建的JavaScript函数 新物件。就这样, 恶意代码已插入一个钩子 这允许它访问 创建每个对象并传输 对象的内容回到了 恶意网站。
答案 3 :(得分:-1)
如果您使用的是跨域,则无法依赖AJAX。您必须通过自己的PHP / ASP脚本使用cURL类型的调用来调用来自其他域的文件的数据。