【发布时间】:2011-05-31 21:50:42
【问题描述】:
正如在GitHub's blog 中看到的,他们实现了HTML5's JavaScript pushState 的树浏览功能(适用于现代浏览器),带来了AJAX 导航without Hash Bangs。
代码很简单:
$('#slider a').click(function() {
history.pushState({ path: this.path }, '', this.href)
$.get(this.href, function(data) {
$('#slider').slideTo(data)
})
return false
})
这非常优雅地允许他们:
- 通过 AJAX 而不是整页请求新内容
- 动画过渡
-
并且更改浏览器 URL(不仅仅是
#,就像 Twitter 所做的那样 — twitter.com/stackexchange → twitter.com/#!/stackexchange)
我的问题是,JavaScript 如何防止一个网站使用pushState 来模仿另一个网站,从而产生令人信服的phishing attack?
至少域似乎无法更改,但是站点内的多个路径可能由多个不相关且不信任的内容提供者提供呢?一条路径 (I.E. /joe) 是否可以本质上模仿另一条路径 (pushState /jane) 并提供模仿内容,可能出于恶意目的?
【问题讨论】:
标签: javascript security html phishing pushstate