タグ

ブックマーク / d.hatena.ne.jp/lurker (2)

  • location.hash の危険性 - 技術メモ帳

    いわゆる、document.write するものには エスケープをしないと行けないのではあるが、 location.hash は、サーバーが生成する部分ではないため 見落としやすいのだろうなぁという事を最近思った。 たとえば、nun.nu というリダイレクタ。 古くからあったように思う。 http://nun.nu/ location.hash の値をそのまま document.write してしまっている。 もちろん、通常のリダイレクト先URLの部分に関してはきちんと HTMLの特殊文字のエスケープが行われている。 残念な事に結果的に、URLに #hogefuga のように指定する事によって XSS を行う事が出来てしまっているのである。 試しに、alert を出す実証コードをここに示す。(Firefoxでしか動作確認していない。) http://nun.nu/http://www.go

  • グローバルオブジェクトへの参照は遅い - 技術メモ帳

    マイクロソフトのドキュメントに書いてあったので、 実際にやってみた。 どうも、ローカル変数にグローバルオブジェクトへの参照を キャッシングすると速くなるようだ。 http://www.microsoft.com/japan/msdn/columns/dude/dude100499.aspx たとえば、window オブジェクトを使用するときは、 以下のようにすれば速くなるっぽい。 var w = window; // 以後、w を使用する。 グローバルオブジェクトへの直接アクセス 通常の使い方。 4464 ms window.global = 0; (function(){ console.time("test"); for(var i=0; i<1000000; i++){ window.global++; } console.timeEnd("test"); console.log(

  • 1