我想知道以下事项:
当我向域外的外部来源XmlHTTPrequest
时,如果与same-origin-policy
发生冲突,则会失败。这是出于安全原因。我写的代码将在客户端的PC上执行,它有限制。
但是,当我使用PHP脚本并使用curl
或file_get_contents
访问外部源时,我的服务器可以执行此操作。我可以使用XmlHTTPRequest
将外部源输出到我的网站。
因此,以 PHP 或 ASPX 作为中介,我可以输出我无法使用XmlHTTPRequest
访问的网站的来源。
XmlHTTPRequest
还有哪些其他安全问题?显然,人们不允许这样的请求从用户的文件系统加载文件。但您可以通过服务器请求环绕same-origin-policy
封锁,例如来自example.com\file.xml
。
答案 0 :(得分:2)
当我的浏览器向网站发出请求时,它包含了很多关于我的信息(例如我的IP地址和我为该网站提供的任何cookie),可用于身份验证。
如果您使用XMLHttpRequest向另一个站点发出请求,那就好像我自己访问过它一样。如果响应中的数据可用于您的JavaScript,那么您可以访问(例如)我的网络邮件,我的社交网络配置文件,我的网上银行以及我所连接的LAN上的公司内部网。 / p>
来自您服务器的请求来自您,而不是我。你不会有我的IP地址/ cookies /等。该网站不会给你任何与我之间私密的数据。