什么是同源策略?为什么你应该了解SOP?
你是否听过"好奇心害死猫"这句话?网络世界有时就是这样——好奇的脚本总喜欢窥探不属于它们的地盘。幸运的是,同源策略(没错,这个名字有点拗口)的存在让一切保持有序。
如果你曾好奇为什么某些网站不能"直接"相互通信,或者黑客如何尝试绕过这些规则,请坐稳了。让我们揭开Web安全这位无名英雄的面纱…同时 sneak peek 一下它的弱点。
同源策略到底是什么?
把你的网页浏览器想象成俱乐部的保镖。每个页面和脚本在交互之前都必须出示身份证。同源策略(SOP)就是浏览器的规则手册:来自同一个"源"的脚本只能与同一源的资源交互。
但什么是"源"呢?它是以下三要素的组合:
- 协议(http 或 https)
- 域名
- 端口
示例:
https://myblog.com:443/homehttps://myblog.com:443/about→ 同源(三要素完全匹配)http://myblog.com:443/home→ 不同源(协议改变)https://myblog.com:8080/home→ 不同源(端口改变)