0

我有一个website,让我们称之为search,在我的一个浏览器页面中打开。search有一个表单,提交时会在我没有直接访问权限的数据库上运行查询。问题search在于界面相当糟糕(无法保存上述查询等)

我已经分析了发送到服务器的请求(使用代理),search并且我能够复制它。服务器甚至发回正确的结果,但浏览器无法打开它。(同源政策)。您对我如何解决这个问题有任何想法吗?

4

2 回答 2

1

不可能绕过 javascript 中的相同来源策略(假设您想考虑到您的问题)。您需要设置一个代理服务器端来为您执行请求并返回 html。

在 PHP 中执行此操作的简单方法如下:

<?php
    echo file_get_contents("http://searchdomainname.com" . "?" . http_build_query($_GET, '', '&'));
?>
于 2012-12-18T12:08:32.790 回答
1

你的问题的答案是:你不能。至少在不使用 Walter 回答中建议的代理的情况下,这意味着您的网站访问者将不得不使用他们其他网站的凭据故意登录到您的网站(嗯听起来不太好......)

您无法执行此操作的原因与安全性有关,如果您可以在打开站点的选项卡旁边的选项卡上运行脚本(我猜您想要这样做),您将能够做到CSRF 攻击并获取您想要的任何数据并将其发送到 hack.com

当然,这是假设在流程的某个地方必须有一个登录,否则你没有理由不能创建一个简单的表单来发布所需的查询并获取信息。

如果您确实可以访问上述网站,您将能够使用 JSONP 支持跨域 xml。

于 2012-12-18T12:34:56.660 回答