关于XMLHttpRequest的同源限制,我觉得有些地方我不太理解。
与其禁止Javascript代码向不同的主机发送http请求(这对于合法的使用来说是非常烦人的事情),不如只允许请求,而不发送或接受cookie。
乍一看,禁止一个特定的脚本获取互联网上其他所有人都能获取的东西似乎是一个相当奇怪的选择……
我遗漏了什么?
发布于 2012-04-08 17:04:24
而不是禁止Javascript代码向不同的主机发送http请求(这对于合法的使用是非常恼人的),在这种情况下只允许请求而不发送或接受cookies会不会更好呢?
这就是Cross-Origin Resource Sharing (CORS)所指定的。
使用用户凭据进行跨域请求时,应用程序必须始终注意
,处理此类请求的服务器必须注意凭据的使用,包括源头。
..。
omit credentials flag
设置在请求中排除用户凭据以及在响应中忽略cookies的时间。
乍一看,
禁止特定的脚本获取互联网上其他所有人都能获取的东西似乎是一个相当奇怪的选择……
我遗漏了什么?
web标准团体花了一段时间才意识到,人们想要编写严肃的JavaScript重型应用程序。Gmail改变了这一切,但像W3C这样的标准组织需要一段时间来填补功能漏洞。
发布于 2012-04-08 17:22:02
您所建议的最初可以避免用户数据被利用,但这仍然意味着代码可以从任何其他潜在的恶意域运行,然后这些域可以读取和传输cookie数据,而不会在请求中隐式发送该数据。我猜它现在的样子是安全性和灵活性之间最好的折衷。
https://stackoverflow.com/questions/10061605
复制相似问题