默认情况下,浏览器不允许跨站点AJAX请求。为什么跨域AJAX请求被标记为“安全风险”?
据我所知,一个不好设想的跨域请求可能是一个安全风险。如果我采用html或外部网站的javascript,并将其“呈现”到我的网站中,那就是一个问题。这个外部代码可以用于很多不好的事情 - 比如访问当前用户的会话数据。
但如果我只请求JSON或XML数据,我用一个正确的库来解析JSON(不只是使用eval)我怎么也想不到,这将是一个安全隐患。可能发生的更糟的是,来自该网站的内容无法正确呈现。
我错过了什么?简单地通过发送一些恶意数据来破坏读取json/xml的页面是否可能?
'默认情况下,浏览器不允许跨站点requests.'这句话需要一点抛光。你在谈论XHR吗?你在说cookie吗?因为通常浏览器允许跨域请求:可以使用指向远程域的锚点或表单,并且当用户点击此链接时,跨域请求将毫无问题地执行。 – 2012-02-10 13:01:30
可能的重复http://stackoverflow.com/q/9222822和http://stackoverflow.com/q/9169038 – Gumbo 2012-02-10 13:04:08
@DarinDimitrov你是对的。我改变了这句话。 – kikito 2012-02-10 16:14:32