默认情况下,浏览器不允许跨站点AJAX请求。
我了解,设想不正确的跨域请求 可能
会带来安全风险。如果我使用外部站点的html或javascript,然后将其“呈现”到我的网站中,那就是一个问题。该外部代码可用于处理许多不良情况,例如访问当前用户的会话数据。
但是,如果我仅请求JSON或XML数据,并且使用适当的库来解析JSON(而不仅仅是使用eval),我将无法想象这会带来安全风险。更糟糕的是,来自该站点的内容无法正确呈现。
我有什么想念的吗?是否可以仅通过发送某种恶意数据来破坏读取json / xml的页面?
风险不在于发出请求的网站。
例如:
简而言之,它可以防止攻击者从具有Alice身份的任何站点(以及位于防火墙之后的站点,例如Alice的公司Intranet)读取私有数据。
请注意,这不会阻止不依赖于能够从站点(CSRF)读取数据的攻击,但是如果没有相同来源策略,针对CSRF的标准防御将很容易被击败。
问题内容: 为什么决定使用 XMLHTTPRequest 进行XML调用不应该跨域边界进行调用?您可以检索JavaScript,图像,CSS,iframe以及我可以想到的来自其他域的几乎所有其他内容。为什么不允许Ajax HTTP请求跨越域边界?考虑到我可以看到它被滥用的唯一方法,这似乎是一个奇怪的限制,那就是如果有人要向页面中注入Javascript。但是,在这种情况下,您只需在文档中添加一个i
问题内容: 如何通过Ajax从远程URL获取内容? jQuery ajax请求被阻止,因为跨域 控制台日志 跨域请求被阻止:“相同源策略”不允许读取http://www.dailymotion.com/embed/video/x28j5hv上的远程资源。(原因:CORS标头“ Access-Control-Allow-Origin”缺失)。 跨域请求被阻止:“相同源策略”不允许读取http://w
问题内容: 我发现真正令人困惑的是,为什么AJAX请求限于同一域?这背后的原因是什么? 我从外部位置请求文件没有任何问题,发出XMLHTTP请求的服务器似乎也可以很好地发送和发布到外部位置。 问题答案: 图片如下: 您来到我神话般的网站www.halfnakedgirls.com。您很乐意观看看起来像人类生理学的技术文档,但是在您的背后,一些JavaScript行正在向另一个域执行某些请求,比如说
如何通过 ajax 从远程 url 获取内容? jQuery ajax请求被阻止,因为跨源 控制台日志 跨来源请求被阻止:同一来源策略不允许读取http://www.dailymotion.com/embed/video/x28j5hv.的远程资源(原因:CORS标头“Access-Control-Allow-Origin”缺失)。 已阻止跨源请求:同源策略不允许读取位于的远程资源http://w
问题内容: 在我的项目中,我需要允许其他人向我的脚本发送ajax请求。因此,外部请求可能来自其他网站和域,也可能来自浏览器扩展。 我在脚本顶部仅添加了以下两行,以使它们能够做到: 现在我的问题是:这里是否遗漏了任何安全方面的考虑?这个简单的解决方案会带来严重的问题吗? 如果是这样,什么是更好的解决方案? 感谢您的回复。 问题答案: 如上所述,任何人都可以随时向您的页面发送请求:因此,您需要考虑的主
问题内容: 如何使用XDomainRequest正确重写Ajax请求以使其在IE 8 +中工作? 问题答案: 将此插件用于IE8-9 Xdomain支持。 https://github.com/MoonScript/jQuery-ajaxTransport- XDomainRequest