服务器端请求和XmlHTTPRequest(客户端)和安全性

时间:2015-03-05 14:47:24

标签: javascript security xmlhttprequest cross-domain same-origin-policy

我想知道以下事项:

当我向域外的外部来源XmlHTTPrequest时,如果与same-origin-policy发生冲突,则会失败。这是出于安全原因。我写的代码将在客户端的PC上执行,它有限制。

但是,当我使用PHP脚本并使用curlfile_get_contents访问外部源时,我的服务器可以执行此操作。我可以使用XmlHTTPRequest将外部源输出到我的网站。

因此,以 PHP ASPX 作为中介,我可以输出我无法使用XmlHTTPRequest访问的网站的来源。

  • 为什么通过服务器允许这种“解决方案”,在我看来,同样的安全风险可能适用?
  • XmlHTTPRequest还有哪些其他安全问题?

显然,人们不允许这样的请求从用户的文件系统加载文件。但您可以通过服务器请求环绕same-origin-policy封锁,例如来自example.com\file.xml

1 个答案:

答案 0 :(得分:2)

当我的浏览器向网站发出请求时,它包含了很多关于我的信息(例如我的IP地址和我为该网站提供的任何cookie),可用于身份验证。

如果您使用XMLHttpRequest向另一个站点发出请求,那就好像我自己访问过它一样。如果响应中的数据可用于您的JavaScript,那么您可以访问(例如)我的网络邮件,我的社交网络配置文件,我的网上银行以及我所连接的LAN上的公司内部网。 / p>

来自您服务器的请求来自您,而不是我。你不会有我的IP地址/ cookies /等。该网站不会给你任何与我之间私密的数据。