GitHubのブログに見られるように、ツリーブラウジング用のHTML5のJavaScriptpushState
機能(最新のブラウザー用)を実装し、ハッシュバングなしでAJAXナビゲーションを実現しました。
コードは単純です:
$('#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
あるWebサイトが別のWebサイトを模倣して、説得力のあるフィッシング攻撃を引き起こすのをどのように防ぐのかということです。
少なくとも、ドメインは変更できないようですが、サイト内の複数のパスについてはどうでしょうか。複数の無関係で信頼できないコンテンツプロバイダーによる可能性があります。あるパス(IE / joe)は本質的に別のパス(pushState / jane)を模倣し、悪意のある目的で模倣コンテンツを提供できますか?