越来越多的Web应用程序(最着名的是37Signals'Basecamp)为每个用户/帐户分配一个子域.我想知道这种方法的优点和缺点是什么.这样做有什么特别的原因还是仅仅是一个美容特征?例如,这是否允许更好/更容易的可扩展性和更高的安全性?
我认为这可能与同源政策有关.如果两个用户的成员页面位于不同的子域中,则浏览器将阻止来自一个子域的脚本访问另一个子域中的文档.因此,如果Mallory注册一个站点(mallory.example.org)并在其上放置恶意脚本,该脚本将无法修改Alice站点的DOM(alice.example.org).如果他们使用路径(example.org/mallory和example.org/alice),SOP将无法工作,并且Mallory的脚本可以在Alice的页面上做各种各样的坏事,比如伪造登录屏幕并发布密码回到马洛里.
当两个子域解析为相同的IP时,此SOP保护甚至可以工作 - 只要URL的主机部分不同,现代浏览器将阻止跨域脚本尝试(以及一些其他潜在危险的事情).
| 归档时间: |
|
| 查看次数: |
1914 次 |
| 最近记录: |