默认情况下,浏览器不允许跨站点AJAX请求。
我了解,设想不正确的跨域请求 可能 会带来安全风险。如果我使用外部站点的html或javascript,然后将其“呈现”到我的网站中,那就是一个问题。该外部代码可用于处理许多不良情况,例如访问当前用户的会话数据。
但是,如果我仅请求JSON或XML数据,并且使用适当的库来解析JSON(而不仅仅是使用eval),我将无法想象这会带来安全风险。更糟糕的是,来自该站点的内容无法正确呈现。
我有什么想念的吗?是否可以仅通过发送某种恶意数据来破坏读取json / xml的页面?
风险不在于发出请求的网站。
例如:
简而言之,它可以防止攻击者从具有Alice身份的任何站点(以及位于防火墙之后的站点,例如Alice的公司Intranet)读取私有数据。
请注意,这不会阻止不依赖于能够从站点(CSRF)读取数据的攻击,但是如果没有相同来源策略,针对CSRF的标准防御将很容易被击败。