タグ

ブックマーク / monjudoh.hatenablog.com (9)

  • 勉強会での内輪ネタについて - monjudoh’s diary

    内輪ネタはただの+α 最近の話だとRubyKaigi他での魔法少女まどか☆マギカネタとRubyKaigiでのたこ焼き仮面ネタあたりか。 内輪ネタって知ってたら面白い、知らなかったらそれはそれで困りはしないってものであるべきだと思ってて、 つまり、+αであるべきだと思っている。 例えば、スライドだったら内輪ネタが入ってるスライドを除いても、 もしくはスライドの中から内輪ネタの部分を除いても、意味が通るならOKだと思うわけです。 例えば、「GCアニメ・まどか☆マギカによる空前のGCブーム」なんてネタが何のことか分からなくたって、 GCのないRubyっていう題を理解するには別に何も問題ないわけです。 問題なのは同調圧力 内輪ネタはただの+αなんで別に"知らなくてもいい"んです。 普段、「〜を知っていて当然」みたいな同調圧力をかけられているので、 自分の知らないネタを当たり前のように使われるとそ

    勉強会での内輪ネタについて - monjudoh’s diary
  • IEでのa要素の各属性について - monjudoh’s diary

    色々あってa要素でURLをパースするというコードを書いていて色々はまったのでまとめます。 IE6-8でのa.hrefの上限 IE6,7:4096bytes IE8:4121bytes でした。 なお、Firefox,Google Chrome,Safariは1MBとか普通に扱えます。 使わないけど。 http://jsdo.it/monjudoh/8Fm6/read 各属性の取得状況 a.hrefにURLを代入して各属性がどうなるか調べてみました。 URLの長さが短い⇔上限超え outerHTMLハックを使わない⇔使う a.hrefにURLを代入後、別の要素のinnerHTMLにa.outerHTMLを代入し、そのfirstChild(a要素)の各属性を見ること の二軸を変えて調べてみました。 http://jsdo.it/monjudoh/sc82 IE6 a.hrefへの代入で更新され

    IEでのa要素の各属性について - monjudoh’s diary
  • CSRF脆弱性対策 - monjudoh’s diary

    CSRF対策のtokenはセッションIDで良い セキュリティ的にワンタイムトークン>セッションIDではない。 という話が、この辺の記事に書かれています。 高木浩光@自宅の日記 - クロスサイトリクエストフォージェリ(CSRF)の正しい対策方法 高木浩光@自宅の日記 - CSRF対策に「ワンタイムトークン」方式を推奨しない理由, hiddenパラメタは漏れやすいのか? 肝はこういう事のようです tokenは外部のサイトから知り難い(実質知り得ない)ものでないといけない セッションIDはcookieに格納される document.cookieは自ドメインのものと親ドメインのものしか見れない→外部サイトで動かすJavaScriptからは参照できない セッションIDは『暗号学的に安全な擬似乱数生成系で生成されているはず』(引用) 推測も事実上できない 補足すると、セッションIDを使用したCSRF対

    CSRF脆弱性対策 - monjudoh’s diary
    rikuo
    rikuo 2010/10/08
  • 昨日騒ぎになったTwitterのXSS脆弱性によって実際に受けそうな被害とその対策 - monjudoh’s diary

    何が出来るのか どんな脆弱性かの詳細はこちらを参照2010 年 9 月 21 日現在のツイッターのバグ(脆弱性)について 外部JavaScriptを読み込むコードを仕込めたので、 どんなJavaScriptでも実行できる状態でした。 以下、JavaScriptの実行によってTwitter上で出来る事。 セッションハイジャック JavaScriptからcookieを参照できるのでログイン状態のセッションIDも参照できます。 また、任意のJavaScriptが実行できる以上、参照したセッションIDを攻撃者のサーバ等に送信することも出来ます。 攻撃者は奪ったセッションIDをcookieに設定すれば、被害者のアカウントでtweet,direct messageの閲覧・送信が出来ます。 確認してみたところ、ログイン状態のセッションIDはログアウトしても無効にはなりません。 設定→パスワードからパスワ

    昨日騒ぎになったTwitterのXSS脆弱性によって実際に受けそうな被害とその対策 - monjudoh’s diary
    rikuo
    rikuo 2010/09/22
  • Firebugを使って無名関数への参照を手に入れる - monjudoh’s diary

    Firebugで元のJavaScriptのコードに手を入れずにdebug用のconsole出力を入れる方法 - 文殊堂の応用編 参照が欲しい無名関数の中の適当な所で、 breakpointを設定し、条件を↓にする。 (window.someFunction = arguments.callee),false この無名関数が1度でも実行されれば、someFunctionで参照できるようになっている。 someFunction.toSource(); とかやると以下のようになる。 (function ($) {var map = new Array;$.Watermark = {ShowAll: function () {for (var i = 0; i < map.length; i++) {if (map[i].obj.val() == "") {map[i].obj.val(map[i

    Firebugを使って無名関数への参照を手に入れる - monjudoh’s diary
  • Firebugで元のJavaScriptのコードに手を入れずにdebug用のconsole出力を入れる方法 - monjudoh’s diary

    Firebugでは条件付きブレークポイントが使えるので、 scriptタブにて該当行にブレークポイントを貼り、 条件としてconsoleへの出力を||区切りで、最後に&& falseを入れる。 console.debug('this.lastPosition') || console.dir(this.lastPosition) && false こうするとブレークポイントを通る度にconsoleへの出力は評価され、 consoleに出力され、最後の&& falseのため式全体は必ずfalseとして評価されるため ブレークすることはない。 追記 console出力系関数の戻り値はundefinedなんだから&& falseは不要か 追記 nanto_vi @monjudoh JSでは||より&&の方が優先順位が高いので、a || b && c はaが真ならbもcも評価されずに全体が真として

    Firebugで元のJavaScriptのコードに手を入れずにdebug用のconsole出力を入れる方法 - monjudoh’s diary
  • FirefinderはJavaScriptプログラマ以外も使うべき - monjudoh’s diary

    Firefinderとは何か? https://addons.mozilla.org/en-US/firefox/addon/11905/ CSSセレクタやXPathで要素を検索出来るFirebugの拡張です。 どんな人にお勧めか? hiddenフィールドの値を閲覧したり、 formのどの要素のnameが何かとかさくっと見たくなることないですか? あるならお勧めです。 Firebugには既に$$というCSSセレクタで要素を検索出来る関数があるんだが? CSSセレクタのサポートの度合いが違います。 $$関数では基的なCSSセレクタしかサポートされていないので、 例えば、ここなら、http://images.google.co.jp/advanced_image_search?hl=ja $$('input'); // [input, input ja, input Google 検索, i

    FirefinderはJavaScriptプログラマ以外も使うべき - monjudoh’s diary
  • The Performance of Dynamic Site (id:amachang) - monjudoh’s diary

    Javaユーザーグループ 概要 JavaScriptの誤解 重くしている犯人 プロファイラ JavaScriptの誤解 JavaScriptは遅い 速いです 重くしている犯人 DOM DOMをフェーズに分けて考える JavaScriptとコンポーネント(C++)との通信(取得) DOMノードの追加、値の変更 スタイルの計算 レイアウトの計算 JavaScriptとコンポーネント(C++)との通信(取得) XPConnectやCOMとの通信 単純なプロパティアクセスの数十倍(IE以外は無視しておk) COMは重い 通信回数=DOMのオブジェクトの「.」の数 DOMノードの追加、値の変更 取得の場合と同じ「.」の数 ノードに変更したというフラグが立つ parent.appendChild(child)だとparentとchildにフラグが立つ。 重要:再計算がJavaScriptの実行後に

    The Performance of Dynamic Site (id:amachang) - monjudoh’s diary
  • Google ChromeのCanvasがすこぶる速い件について - monjudoh’s diary

    前置き mal_blue@tumblr Google Chrome 速っ!で、 Untitled Film Works | Professional Film Makersなる3Dゲーム風デモを引き合いに速い件について言及されていた。 それを受けて体感速度の比較記事(http://dara-j.asablo.jp/blog/2008/09/12/3756785)を書いている人も出てきた。 で、件の3Dゲーム風のデモなんだけど、 JavaScriptでゴリゴリ計算して2DのCanvasで3Dを表現みたいな感じなので、「Canvas の描画速度速い」じゃなくて巷で言われてるとおりの演算速度の速さが、表示の軽さにつながってるってことじゃないかなー。 こんな疑問を持ったので純粋にCanvasの描画速度だけ見るベンチマークを探してみた。 過去ブクマにはてなブックマーク - CanvasのdrawIm

    Google ChromeのCanvasがすこぶる速い件について - monjudoh’s diary
  • 1