浏览器为什么要限制Ajax跨域? 弱弱地问一句,浏览器为什么要限制Ajax跨域?一直想不通在什么场合Ajax跨域有安全性问题,求点拨。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很安全啊,如果需要用到第三方的数据接口,那必然是相信它提供的数据是安全的,否则,哪有人愿意在自己网站上放挂马的code?在使用跨域的场合,当然是跨到你相信的域里边去拿数据。至于被跨域的域后端,我也想不出有什么不安全的。 打个比方某个网站的某张页面被你写入了一些js ,这些js有些ajax操作如果某个用户访问了这张页面,你的js就可以获得用户的某些信息(cookie,本地文件等)然后通过ajax发送回你的服务器。 这就是安全问题,信息泄漏 非公共的API,都会给特定的使用者唯一的私钥,来验证请求的合法性.至于公共的API,都会限制你post的数据的容量 aspwebchh说的是重点。你说的这个不是ajax要限制跨域的原因。试想,后端返回什么数据,完全由他的后端来决定。如果会发生信息泄漏,那是后端安全没做好啊。完全可以判断http请求的Referer来限制数据啊。我是说,当初设计Ajax的时候,为什么限制了Ajax跨域?其原因是什么。 限制跨域并不仅针对ajax不管你用什么技术,跨域的操作就意味着A网站可以操作B网站的页面这个有无穷的风险凡是B网站上登录确认身份之后不需要进一步验证就可以操作的都有被A网站利用的可能 还能回帖么?我今天突然又想到这个问题,还是没有悟透。3楼,之前没想明白。但是突然想到,ajax限制跨域是为了避免xss的时候很方便就能偷走信息的话,那么,即使不用ajax,用一个iframe也能偷走信息啊。创建一个隐藏的iframe,然后src指向自己的域,在url里带上从cookie里偷到的东西。额,对,用一个script标签也可以。所以封住ajax跨域,并不能防止xss盗走信息啊。这样说来,为什么要废掉ajax跨域的武功,我又糊涂了 似乎有点明白了。让我理一理。假设,先假设浏览器没有限制跨域,A站的xhr请求B站的一个url,那么浏览器是要带上谁家的cookie一起请求呢?(每次http请求都要带上该站下的所有cookie)显然是B家的。假设B家的网站当前用户已经登录,那么cookie里自然记录下了sessionId相关的东西以标识当前用户的身份,那么本次xhr请求很easy的通过了身份认证,然后后果就是不堪设想的。突然感觉明白了,不知道是不是这么想的。假如ajax允许跨域,A站的xhr请求B站的一个url,带的是B站的cookie,这里就存在冒用当前B站的用户身份的嫌疑,我想问题就在这里吧。 IE6.0下二级导航正常,但是在谷歌,和IE8下不正常。帮忙看下JS代码。 无法实现页面跳转 请教各位XDJM,用普通按钮来代替input file控件来实现文件的上传如何实现? 在beforeunload方法中阻止浏览器关闭 请问如何让下一个文本框聚焦 js获取两个文本值,循环加1的问题 javascript验证问题 这个滑竿控件怎么用 在线紧急求助:htc文件无法引用是咋回事? Ext-JS怎么显示变量值 商城简单产品筛选jq 怎样给每个叶子节点加链接
很安全啊,如果需要用到第三方的数据接口,那必然是相信它提供的数据是安全的,否则,哪有人愿意在自己网站上放挂马的code?在使用跨域的场合,当然是跨到你相信的域里边去拿数据。至于被跨域的域后端,我也想不出有什么不安全的。
某个网站的某张页面被你写入了一些js ,这些js有些ajax操作
如果某个用户访问了这张页面,你的js就可以获得用户的某些信息(cookie,本地文件等)然后通过ajax发送回你的服务器。 这就是安全问题,信息泄漏
至于公共的API,都会限制你post的数据的容量
aspwebchh说的是重点。你说的这个不是ajax要限制跨域的原因。试想,后端返回什么数据,完全由他的后端来决定。如果会发生信息泄漏,那是后端安全没做好啊。完全可以判断http请求的Referer来限制数据啊。我是说,当初设计Ajax的时候,为什么限制了Ajax跨域?其原因是什么。
不管你用什么技术,跨域的操作就意味着A网站可以操作B网站的页面
这个有无穷的风险
凡是B网站上登录确认身份之后不需要进一步验证就可以操作的都有被A网站利用的可能
还能回帖么?我今天突然又想到这个问题,还是没有悟透。3楼,之前没想明白。但是突然想到,ajax限制跨域是为了避免xss的时候很方便就能偷走信息的话,那么,即使不用ajax,用一个iframe也能偷走信息啊。创建一个隐藏的iframe,然后src指向自己的域,在url里带上从cookie里偷到的东西。额,对,用一个script标签也可以。所以封住ajax跨域,并不能防止xss盗走信息啊。这样说来,为什么要废掉ajax跨域的武功,我又糊涂了
似乎有点明白了。让我理一理。
假设,先假设浏览器没有限制跨域,A站的xhr请求B站的一个url,那么浏览器是要带上谁家的cookie一起请求呢?(每次http请求都要带上该站下的所有cookie)显然是B家的。假设B家的网站当前用户已经登录,那么cookie里自然记录下了sessionId相关的东西以标识当前用户的身份,那么本次xhr请求很easy的通过了身份认证,然后后果就是不堪设想的。突然感觉明白了,不知道是不是这么想的。假如ajax允许跨域,A站的xhr请求B站的一个url,带的是B站的cookie,这里就存在冒用当前B站的用户身份的嫌疑,我想问题就在这里吧。