650*_*502 6 html javascript cookies xmlhttprequest same-origin-policy
在开发网络时,我一直在与奇怪的限制作斗争.其中一个是AJAX请求的同源限制,我问自己,如果不是阻止对跨域资源的请求,那么在制作cookie时就不会简单地丢弃cookie(以避免滥用身份验证凭据)浏览器会话).
Cookie是一种设施,但并不是必需的(例如,如果您需要保留上下文,您可以在请求URL中生成带有cookie的页面),而跨域阻止则非常烦人.
从逻辑的角度看,在阻止某个特定主题访问资源时,从某种程度上来说,我认为非常奇怪,实际上全世界的其他人都可以在没有身份验证的情况下访问该资源.
我想知道是否有一些真正的技术原因,相同的原产地政策真的是最好的解决方案.
请注意,我只是出于好奇而要求......我完全清楚,在网络时代,可怕的解决方案可以在标准中得到明确,然后才有可能证明它们是好还是坏(相当大的一部分)例如,Javascript).
您假设所有身份验证凭据都是基于 cookie 的,但事实并非如此。浏览器可能会使用 PKI 证书向另一个站点进行身份验证,或者该站点可能会仅仅因为客户端在可信网络上拥有某个 IP 地址而信任该客户端。这不是客户可以根据个人请求关闭的功能。
然而,我们正在努力标准化站点的方式,以允许对其资源进行跨域请求。如果站点知道其某些内容是公开的并且没有客户端具有特殊权限,则它可以设置 HTTP 标头来告诉浏览器允许从其他站点加载的脚本查看该内容。
在我看来,从逻辑角度来看,阻止特定主体访问全世界其他人都可以在无需身份验证的情况下访问的资源,这似乎非常奇怪。
浏览器不知道全世界都可以在没有身份验证的情况下访问该资源。它不知道在访问给定 URL 时是否看到与其他客户端相同的内容。它阻止的是对其自己的、可能是唯一的远程资源视图的访问。
| 归档时间: |
|
| 查看次数: |
213 次 |
| 最近记录: |