priate
下一代web应用程序更多的会是数据密集型的
下一代Web应用程序更多的会是数据密集型的. 他们需要访问服务器 任何服务器 然后交换数据. XMLHttpRequest接口建议这么做 但是没有实现. 这主要受限于有缺陷的安全模型. XMLHttpRequest 受到同源策略的限制. 这就限制了接口只能连接提供该页面的服务器. 这一规则是为了处理一些Web架构长期存在的共同的安全缺陷. 如果没有同源策略 那么用户会受到XSS(跨站脚本)攻击. 在下面的例子中 我们有一个被恶意创建在priate.net的页面. 该页面会尝试泄露用户与penzance.org之间的关系. 如果同源策略没有起作用 pirate.net 将会通过XMLHttpRequest发送一个请求到penzance.org. 这个请求会带上penzance.org的cookie. 如果penzance.org 使用cookie来作为认证 那么它将会认为这个请求是用户自己发起的. 任意访问站点的请求将会带上与之关联的cookie. 这将允许priate.net拥有使用penzance.org的权限. 如果penzance.org在防火墙的后面 而且如果内部服务器嘉定防火墙的存在使得不需要进行显式的认证. 那么pirate.net的页面就可以作为一个代理 来访问penzance.org的内容并送回pirate.net. 这个可能性是存在的 因为XMLHttpRequest可以包含类XML数据(比如HTML文档)和非XML文本. 同源策略将会制止这些攻击. 但是同样的 她限制了很多合法的使用. 页面中的脚本访问其他服务器同时也不暴露用户或组织的危害的情形是存在的.