作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
谁能帮助我更好地理解同源政策。我看过几个描述它的网站,但我正在寻找更简单的解释,你会如何向 child 描述它?
这link似乎做了我发现的最好的工作。任何人都可以扩展吗?有人可以解释为什么存在此政策吗?
最佳答案
需要同源策略来防止CSRF .想象一下这个场景:
var xhr = new XMLHttpRequest(),
data = "from="+victimAccount
+ "&to="+jacksAccount
+ "&amt=a+gazillion+dollars";
xhr.open("POST", "http://tbtfbank.tld/accounts/wiretransfer.aspx", true);
xhr.send(data);
Jack 可以很容易地使用相同的技术来收集数千个帐号和个人识别码,或者银行经理 Joe 可以通过他的帐户访问的任何其他信息。
幸运的是,大多数时候同源策略保护我们免受这些类型的攻击,因为 Jack 的恶意页面托管在与银行应用程序不同的域中,因此不允许对银行应用程序进行 XHR。尽管恶意页面仍可能包含向银行应用程序发出 GET 请求的图像,因此重要的是不要通过 GET 请求启动具有副作用的操作,并且应用程序检查它们收到的请求的引荐来源 header 并利用反CSRF token 。
关于javascript - 外行术语中的同源策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11474336/
我是一名优秀的程序员,十分优秀!