タグ

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

  • CSRF脆弱性対策 - monjudoh’s diary

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

    CSRF脆弱性対策 - monjudoh’s diary
  • minifyされたJavaScriptにconsole出力等の処理を挟む、特定経路を通った場合に処理を挟む - monjudoh’s diary

    minifyされたJavaScriptへのブレークポイントでの処理の挟み込み Firebugのブレークポイントは行に貼るのでminifyされたJavaScriptと相性が悪い。 例えばjQuery.ajaxが定義されている行にFirebugで元のJavaScriptのコードに手を入れずにdebug用のconsole出力を入れる方法 - 文殊堂の要領でconsole出力を挟んだとして、 無関係な関数の呼び出しまで対象になってしまう。 それを回避するためにブレークポイントに設定する条件を変えてみる。 !(!(arguments.callee === jQuery.ajax) || (/* やりたい事(式)をカンマ区切りで start */console.info(arguments.callee.toSource())/* end */,true)) コピペ用 !(!(arguments.ca

    minifyされたJavaScriptにconsole出力等の処理を挟む、特定経路を通った場合に処理を挟む - monjudoh’s diary
  • 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
  • formの各項目のnameとvalueを画面上に表示する - monjudoh’s diary

    どんなの? ↓こんなの 前置き 人に説明するときの簡単な資料として使ったり、 印刷して横に置いて見ながらコード書いたりとか。 業務系システムの画面なんかだと項目がべらぼうに多いこともよくあるので、 普通のスクリーンショットに手でポチポチ書いていったり、 Excelに貼付けてhogehogeとかやると死ぬ人もいるだろうし、 とりあえず私は死ぬので楽にやりたい。 必要なもの Firefox Web Developer http://www.getfirebug.com/ jQueryを読み込ませるbookmarklet Google AJAX Libraries API版 (JavaScriptの動的ロードとか) - 文殊堂 やり方 ページを表示して、 Web DeveloperのForms->Display Form Detailsを選択 こんな感じでformの各要素の手前にタグを表示してく

    formの各項目のnameとvalueを画面上に表示する - monjudoh’s diary
  • jQueryの$(document).readyをjQuery非依存にする。 - monjudoh’s diary

    2008/09/09追記 GitHubに置いてみた。これくらいなら、Gistで良かったかも。 bindready/bindReady.js at master · monjudoh/bindready · GitHub jQueryを使っていないWebサイトで必要最小限のJavaScriptを使って、 DOM構築後のタイミングで実行したい処理を実行したい。 コードリーディング(概略) とりあえずjQuery1.2.6の該当箇所のコードを読む…のは、 $(document).ready();について - 文殊堂でやった。 省く機能 DOM構築後に呼び出された時即実行→何もしない jQuery.readyListにpushしてDOM構築後に複数の関数を順繰り実行→一つだけ実行 いろいろくるんでthisとか第一引数とかにいろいろ指定→何もせずに関数をそのまま実行 要はbindReady(some

    jQueryの$(document).readyをjQuery非依存にする。 - monjudoh’s diary
  • 属人性の排除とか(プログラマ以外編) - monjudoh’s diary

    ちょっと昔話 私が前の会社で新人の頃に最初に行かされた案件の話。 誰もが知っている大手SI屋が元請けで誰もが知っている家電メーカー相手にやっている2000人月の大規模プロジェクトで、 新人だった私には各テスト環境向けにビルドとデプロイをするだけの刺身タンポポな仕事があてがわれました。 CVSでつけられたタグ名のセットを受け取って順繰りにexportして…とかそんな感じだったと思います。 私の同僚がミスを連発する等して一日分の結合テストが丸々無駄になったということもままありました。 私は刺身タンポポ作業が退屈で仕方なかったので、作業を自動化するツールを作って、 作業量と作業の際に必要な集中力の量を大幅に減らしました。 ミスはほとんど起こらなくなりました。 私は仕事中はほぼイソターネッツ三昧でしたがプロジェクトの偉い人にとても誉められましたし、 高評価が営業を通して会社に伝わったので、会社での

    属人性の排除とか(プログラマ以外編) - monjudoh’s diary
  • Firebugについてまとめ - monjudoh’s diary

    随時更新 公式ドキュメント Firebug Console API http://getfirebug.com/commandline.html 気になったところ $$(selector) 複雑なCSSセレクタでなければjQueryの$関数の変わりとして使える感じ。 dirxml(node) outerHTML相当のHTMLを出してくれる感じ $$(selector)と組み合わせると便利そう。 inspect(object[, tabName]) 指定したオブジェクトを指定したタブで表示できる。特定要素をHTMLタブで表示させる時、「inspect($$('table#some-id td')[0],'html');」みたいにできる。今まで、「console.log($$('table#tab td')[0]);」を実行してconsoleタブに表示させた後、そこをクリックみたいにやっていた

    Firebugについてまとめ - monjudoh’s diary
  • 1