タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

JavaScriptとprototype.jsとbrowserに関するraimon49のブックマーク (8)

  • JSONをvbscriptとして読み込ませるJSONハイジャック(CVE-2013-1297)に注意

    はせがわようすけ氏のブログエントリ「機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき」にて、巧妙な罠を仕掛けることにより、別ドメインのJSONデータをvbscriptとして読み込み、エラーハンドラ経由で機密情報を盗み出すという手法が紹介されました。これは、IEの脆弱性CVE-2013-1297を悪用したもので、MS13-037にて解消されていますが、MS13-037はIE6~IE8が対象であり、IE9以降では解消されていません。 また、MS13-037を適用いていないIE6~IE8の利用者もしばらく残ると考えられることから、この問題を詳しく説明致します。サイト側の対策の参考にして下さい。 問題の概要 JSON形式のデータは、通常はXMLHttpRequestオブジェクトにより読み出しますが、攻撃者が罠サイトを作成して、vbscript

    JSONをvbscriptとして読み込ませるJSONハイジャック(CVE-2013-1297)に注意
    raimon49
    raimon49 2013/05/20
    X-Requested-Withヘッダ付与とチェックついて。不完全なJSONや無限ループで読みだせなくするバッドノウハウ的な手法よりもXHRからのリクエストかどうか検証する。
  • プロトタイプ汚染とループ - latest log

    脳内棚卸 Prototype.js と プロトタイプ汚染(昔話) jQuery が登場する以前、Prototype.js という JavaScript ライブラリがありました。 Prototype.js は、JavaScript OOP の普及期(2005~2007年頃)に多くのサイトで活用されました。 Prototype.js は Object.prototype や Array.prototype 以下に、Ruby 由来のメソッドを拡張することで、 JavaScriptRuby 感をもたらし、ブームを起こしました。 当時の JavaScript(ES3: ECMAScript262-3rd) には、 言語仕様として Object.prototype を安全に拡張する方法が存在せず、 Prototype.js はしばらく後に 汚染(pollution) と呼ばれる問題を起こしてしま

    プロトタイプ汚染とループ - latest log
    raimon49
    raimon49 2012/11/07
    Object.keys(obj).sort()で事前ソート
  • JavaScriptのindexOf - 車輪を再発明 / koba04の日記

    JavaScriptのIndexOfといえば、こんな感じで文字列に対して指定するものだと思っていたのですが、 // 文字列 var str = "hello javascript"; console.log( str.indexOf("javascript") ); // => 6 他にもECMA-262のJavaScript拡張ではあるけど、配列に対しても使えたんですね。(追記:IE6-8は使えない) var akimoto = ["AKB48", "SKE48", "NMB48"]; console.log( akimoto.indexOf( "SKE48" ) ); // 1 このイコール判定は===な厳密な比較で行われているので型を意識する必要があります。 var list = [1, "2", 3, "4", 5]; console.log( list.indexOf(5) );

    JavaScriptのindexOf - 車輪を再発明 / koba04の日記
    raimon49
    raimon49 2012/03/11
    Array.prototype.indexOf prototype.jsでは==比較で実装されている(えー
  • prototype.jsからjQueryに移行するたったひとつの冴えたやりかた - os0x.blog

    どうもこんにちは、os0xです。 実は(Twitterに書いただけで)ブログに書いてなかったのですが、3ヶ月ほど前からクックパッドで働いています*1。なんかもう今更ですよね、すみません。 さてさて、クックパッドですが、つい一昨日までprototype.jsを使っていました。で、昨日jQueryへの移行をリリースしたところだったりします。 というわけで、その辺の話を少し書いてみたいと思います。 そもそも、なんでjQueryに移行するのか まあ、prototype.jsとjQueryどちらを使うかと問われたら、大抵の人はjQueryと答えますよね。確かにjQueryの使いやすさは魅力的です。使いやすいということは、みんなでjQueryを使ってサービスを作ることができます。特定の誰かに依存してボトルネックになったりすることがないなら、それは素晴らしいですね。 しかし、ライブラリを変えるのは簡単な

    prototype.jsからjQueryに移行するたったひとつの冴えたやりかた - os0x.blog
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    raimon49
    raimon49 2010/03/12
    メジャーなJavaScriptライブラリの機能表。2010-03時点で新しめのバージョンを使った比較。
  • prototype.js の Event.observe を使った onbeforeunload について

    prototype.js の Event.observe を使った onbeforeunload について 2007-07-20-1: [JavaScript][Firefox] JavaScript のイベントに、ウィンドウが閉じられる直前に起こる onbeforeunload があります。 これを使うと、何がしかの内容を入力中にページを移動する際に警告のメッセージを出すことができます。 WordPress とかで利用されています。 使い方は簡単で、以下のようにダイアログに表示する任意のメッセージを返します。 window.onbeforeunload = function(e) { // なにも返さなければ、なにも起きない。 return '<任意のメッセージ>'; }; ダイアログの表示は以下のようになります。 - Internet Explorer 6.0 - Internet E

    raimon49
    raimon49 2010/02/04
    return e.returnValue = ' message';
  • あきまた日記 [javascript] イベントの発火

    ちょっとイベントハンドリングがややこしくなってくると、イベントハンドラを呼び出すのではなく、コントロールのイベントを発火したいときがある。Textフィールドのvalueに値を代入した時には、onchangeイベントが動いてくれるといいんだけど、動いてくれないので、自分で動かすしかなさそう。 そんなときに使うのがDOMインタフェースのdispatchEvent、IEならfireEventメソッドです。いちいち判定して使い分けるのは面倒なので、prototype.jsを使ってこんな風にEventを拡張してみました。 Object.extend(Event, { dispatchEvent: function(element, event, eventName) { var newEvent = new Object(); for(var prop in event) newEvent[prop

    あきまた日記 [javascript] イベントの発火
    raimon49
    raimon49 2008/09/29
    ネイティブDOMイベントトリガのdispatchEvent, fireEventのラッパー。
  • テキストエリアでリターンキーを押した際に、submitイベントの発生を抑止する方法 - Enjoy*Study

    テキストエリアでのリターンキーで、submitイベントが発生しないようにする場合、ブラウザ毎にどのような処理を書けばいいのか調べてみました。(submitイベント自体に処理を追加せずに、テキストエリアでのイベントで制御したかったので) テキストエリアでのリターンを拾えるイベントとしては、下記の3つがあります。 keypress keydown keyup イベントをキャンセルする方法は、IEのJScriptの実装と、DOM 2のEventモデルでの実装である下記の2パターンを試しました。 event.preventDefault() event.returnValue=false そして確認の結果、上記のイベント×キャンセル処理の組み合わせでsubmitイベントがキャンセル出来るのは、下記のパターンとなりました。 IE 6 keydown - event.returnValue=false

    テキストエリアでリターンキーを押した際に、submitイベントの発生を抑止する方法 - Enjoy*Study
    raimon49
    raimon49 2008/01/23
    IEはevent.returnValue=false, Firefoxはevent.preventDefault()
  • 1