英国人如何教育孩子 - [转]
2009-06-24 22:51
225 查看
平时,我们从书籍上看到关于跨域请求的问题时,绝大多数作者只是给出“某某某不允许跨域操作”,但很少提及为什么不允许。其实可以从反证法的角度来看对跨域请求问题。你可以这样思考:
如果允许跨域请求,那么会发生什么?
下面举一例:
我们知道XMLHttpRequest是不允许跨域请求,为什么?
举个返例即可知若XMLHttpRequest允许跨域会发生多可怕的事。很多浏览器的插件是直接在当前文档里插入DOM及相关动态脚本的,若允许XMLHttpRequest跨域请求的话,那么对于一些恶意插件,其插入的动态脚本完成可以使用XMLHttpRequest将当前文档的相关隐私数据,或伪造表单将用户相关数据通过XMLHttpRequest提交到跨域的恶意服务器上。
这样讲可能有点空洞。下面举一个跨域请求的切实一点的例子:
1.打开itravel.smartcom.cc
2.在控制台上运行
$.get('http://www.google.com/ig/api?weather=%E6%B7%B1%E5%9C%B3&hl=zh-cn', function(res) {
}, 'xml');
浏览器会明确提示:
XMLHttpRequest cannot load http://www.google.com/ig/api?weather=%E6%B7%B1%E5%9C%B3&hl=zh-cn.Origin http://itravel.smartcom.ccis not allowed by Access-Control-Allow-Origin.
以上跨域请求只是为了测试,对于恶意请求,其完全有可能在请求体中塞入本文档中的隐私数据。
所以XMLHttpRequest是不允许跨域请求的。
如果允许跨域请求,那么会发生什么?
下面举一例:
我们知道XMLHttpRequest是不允许跨域请求,为什么?
举个返例即可知若XMLHttpRequest允许跨域会发生多可怕的事。很多浏览器的插件是直接在当前文档里插入DOM及相关动态脚本的,若允许XMLHttpRequest跨域请求的话,那么对于一些恶意插件,其插入的动态脚本完成可以使用XMLHttpRequest将当前文档的相关隐私数据,或伪造表单将用户相关数据通过XMLHttpRequest提交到跨域的恶意服务器上。
这样讲可能有点空洞。下面举一个跨域请求的切实一点的例子:
1.打开itravel.smartcom.cc
2.在控制台上运行
$.get('http://www.google.com/ig/api?weather=%E6%B7%B1%E5%9C%B3&hl=zh-cn', function(res) {
}, 'xml');
浏览器会明确提示:
XMLHttpRequest cannot load http://www.google.com/ig/api?weather=%E6%B7%B1%E5%9C%B3&hl=zh-cn.Origin http://itravel.smartcom.ccis not allowed by Access-Control-Allow-Origin.
以上跨域请求只是为了测试,对于恶意请求,其完全有可能在请求体中塞入本文档中的隐私数据。
所以XMLHttpRequest是不允许跨域请求的。
相关文章推荐
- 中国教育如何把孩子“教愚”
- 5-10岁孩子如何教育(李子勋) ,摘录备忘
- 强大的德国教育如何锻造孩子的健全人格
- 色戒女主角/汤唯在英国的日子(值得教育孩子)
- 如何有效地毁掉孩子?--对身边教育失败的随想
- 【孩子如何教育,是你家族兴旺的前提】
- 如何教育孩子
- 西方是如何教育自己孩子的?
- 如何教育现在的孩子
- 关于孩子如何进行艺术教育的思考(一)
- 我们如何教育孩子(转载西路的作品)
- 如何教育懒孩子
- 李开复如何教育自己的孩子
- 瑞士:不喂孩子吃饭 源于儿童教育网
- 如何让孩子爱上设计模式 ——20.解释器模式(Interpreter Pattern)
- 这样教育孩子
- 如何让孩子爱上设计模式 —— 1.面向对象相关概述