服务器端请求和 XmlHTTPRequest(客户端)和安全性
Server-side requests and XmlHTTPRequest (client-side) and security
我想知道以下问题:
当我向域外的外部源发送 XmlHTTPrequest
时,如果与 same-origin-policy
发生冲突,它将失败。这是出于安全原因。我写的代码会在客户端PC上执行,有限制。
然而,当我使用 PHP 脚本并使用 curl
或 file_get_contents
访问外部源时,我的服务器被允许执行此操作。我可以使用 XmlHTTPRequest
将外部源输出到我的站点。
因此,使用 PHP 或 ASPX 作为中介,我可以将无法使用 XmlHTTPRequest
。
- 为什么允许通过服务器 "work-around",在我看来可能存在相同的安全风险?
XmlHTTPRequest
还有哪些其他安全问题?
显然不会允许这样的请求从用户的文件系统加载文件。但是你可以通过服务器请求外部资源来绕过 same-origin-policy
封锁,比如来自 example.com\file.xml
.
当我的浏览器向网站发出请求时,它包含大量关于我的信息(例如我的 IP 地址和我拥有的用于该网站的任何 cookie)可用于身份验证。
如果您使用 XMLHttpRequest 向另一个站点发出请求,就好像我自己访问过它一样。如果响应中的数据可供您的 JavaScript 使用,那么您将可以访问(例如)我的网络邮件、我的社交网络配置文件、我的网上银行和我所连接的 LAN 上的公司内联网.
来自您服务器的请求来自您,而不是我。你不会有我的 ip 地址/cookies/等等。该网站不会给你任何它和我之间的私人数据。
我想知道以下问题:
当我向域外的外部源发送 XmlHTTPrequest
时,如果与 same-origin-policy
发生冲突,它将失败。这是出于安全原因。我写的代码会在客户端PC上执行,有限制。
然而,当我使用 PHP 脚本并使用 curl
或 file_get_contents
访问外部源时,我的服务器被允许执行此操作。我可以使用 XmlHTTPRequest
将外部源输出到我的站点。
因此,使用 PHP 或 ASPX 作为中介,我可以将无法使用 XmlHTTPRequest
。
- 为什么允许通过服务器 "work-around",在我看来可能存在相同的安全风险?
XmlHTTPRequest
还有哪些其他安全问题?
显然不会允许这样的请求从用户的文件系统加载文件。但是你可以通过服务器请求外部资源来绕过 same-origin-policy
封锁,比如来自 example.com\file.xml
.
当我的浏览器向网站发出请求时,它包含大量关于我的信息(例如我的 IP 地址和我拥有的用于该网站的任何 cookie)可用于身份验证。
如果您使用 XMLHttpRequest 向另一个站点发出请求,就好像我自己访问过它一样。如果响应中的数据可供您的 JavaScript 使用,那么您将可以访问(例如)我的网络邮件、我的社交网络配置文件、我的网上银行和我所连接的 LAN 上的公司内联网.
来自您服务器的请求来自您,而不是我。你不会有我的 ip 地址/cookies/等等。该网站不会给你任何它和我之间的私人数据。