タグ

2006年7月22日のブックマーク (7件)

  • パーソナルデータのmashupとクロスドメインJSONのセキュリティ(3) - snippets from shinichitomita’s journal

    これまでに、リファラ情報を利用したJSONサービスのセキュリティ実装について提案してみた。ただし、これはあくまでセキュリティの実現手段の話であり、当たり前であるが設定するセキュリティポリシーによって挙動は異なるべきものである。そこで今回は、このセキュリティポリシーをどのように実装するかについて考えたいと思う。 ユーザがサーバに預けているデータは、異論はあるかもしれないが、一部の例外を除いて基的にユーザの自由になるべきものである。たとえば、スケジュールであれ住所録であれ、サーバに預けておいたデータはいつでもユーザの自由なときに持ち出して利用したい。もちろん、サービス側にもデータを保持するコストがかかるわけで、できれば預かっているデータは自分のサービス専用のデータとして保持しておきたい場合がほとんどだろう。その気持ちはよくわかる。しかし、少し視点を変えて、ユーザの自由度を増やすことでサービス

    パーソナルデータのmashupとクロスドメインJSONのセキュリティ(3) - snippets from shinichitomita’s journal
    wacky
    wacky 2006/07/22
    クロスドメインでパーソナルデータをJSON呼び出しする際のセキュリティ問題(3/3)。ユーザの許認可ベースでの実装案。
  • パーソナルデータのmashupとクロスドメインJSONのセキュリティ(2) - snippets from shinichitomita’s journal

    前回のエントリでクロスドメインでパーソナルデータをJSON呼び出しする際のセキュリティ問題について触れた。 簡単に言うと、ユーザのパーソナルデータをmashupする際には、ユーザだけでなくちゃんとそのデータを利用するアプリケーションの認証を行わなければならない、ということでもある。 そのためには、共有鍵を利用してHMACを作成するなどいろいろ方法はあるだろうが、ここでは非常に簡単に呼び出し元のアプリケーション認証を行う方法について提案する。 先に答えを書くと、クライアント(ブラウザ)が送信してくるリファラヘッダ情報を利用する、というものである。 ただこれだけではわかりにくいと思うので、具体的なデータのやり取りのイメージを交えて説明してみる。 最初にJSONでのクロスドメイン呼び出しについて、おさらいしておく。 いま、前回の例で挙げたようなオンラインCRMサービス(仮にwww.example

    パーソナルデータのmashupとクロスドメインJSONのセキュリティ(2) - snippets from shinichitomita’s journal
    wacky
    wacky 2006/07/22
    クロスドメインでパーソナルデータをJSON呼び出しする際のセキュリティ問題(2/3)。Reffererを利用する実装案。
  • パーソナルデータのmashupとクロスドメインJSONのセキュリティ(1) - snippets from shinichitomita’s journal

    もし誰かが自分の持っているデータをWebサービスとして公開したいとき、その形式はXMLになるのが今のところ主流だけれども、JSON形式で配信できるように*1しておくと、mashupする側は自前のサーバを用意することなくとも、異なるドメインからデータを利用することができる。この詳細についてはすでにいろいろ書いているので省略する。 これはmashupの可能性を飛躍的に拡大させると言えるのだけど、実はもっと重要なことがある。それはこの場合mashupするデータの伝送がユーザを中心に行われているということだ。 もちろん、よく言われる当の意味での「ユーザ中心(user-centric)」は、ユーザが自分に関するデータ(パーソナルデータ≒identity)の利用を全て選択しコントロールできる、ということだろう。その意味ではべつにデータの送受信がユーザを経由しようがサーバ間で行われようが「ユーザ中心」

    パーソナルデータのmashupとクロスドメインJSONのセキュリティ(1) - snippets from shinichitomita’s journal
    wacky
    wacky 2006/07/22
    クロスドメインでパーソナルデータをJSON呼び出しする際のセキュリティ問題(1/3)。問題提起。
  • 再生が止まる破損DVDなどからデータを救出する「Dead Disk Doctor」 :教えて君.net

    読み取りエラーを起こすCD・DVD・フロッピー・HDDから、ブロックサイズを変えながらデータを救出するフリーソフト「Dead Disk Doctor」がリリースされた。特に効果的なのは、プレイヤーでの再生時に画面が止まったりするDVDからのデータ救出。「Dead Disk Doctor」で救い出す → 救ったデータを再度書き込み、で問題なく再生できるようになることが多いぞ。そもそも、メディア内のデータは、そう簡単には壊れない。再生が止まるのは、安定してデータを読み込めない程度にディスク状態が悪化していることが原因であるケースがほとんど。「Dead Disk Doctor」は、メディアから一度に読み取るデータ量「ブロックサイズ」を、読み取り元メディアの状態に合わせて変えながらデータを救い出す仕組みなので、状態の悪化したメディアからでも問題なくデータを救い出せるのだ。 「Dead Disk

    wacky
    wacky 2006/07/22
    読み取りエラーを起こすCD・DVD・フロッピー・HDDから、ブロックサイズを変えながらデータを救出するフリーソフト「Dead Disk Doctor」の紹介。
  • JavaScriptオブジェクトを視覚的にデバッグする - snippets from shinichitomita’s journal

    以前JSONサービスからオブジェクトを取得して表示するテストツールを作ったのだけど、表示部分の実装を少々作り直してまとめました。 debugobj.js 使い方: var obj = { a : "hello", b : "javascript", c : [ [ "c11", "c12" ], "c2" ] };のようなJavaScriptのオブジェクトに対して var dbgobj = new DebuggableObject(obj); dbgobj.render(document.getElementById('debugOutput'));としてやると、オブジェクトの各プロパティを階層的にHTMLテーブルでデバッグ表示します。 デモ: http://www.geocities.jp/stormriders999/jsdebug.html これを使って書き直したJSONサービステス

    JavaScriptオブジェクトを視覚的にデバッグする - snippets from shinichitomita’s journal
    wacky
    wacky 2006/07/22
    JavaScriptオブジェクトの階層を視覚的に表示するライブラリ。折りたたみ可能。
  • prototype.jsクックブック ホットキー(ショートカットキー)の実装 - Yet Another ....

    最近、Web上のサービスでもホットキー(ショートカットキー)*1を実装している所を多く見かける。はてなでもそうだし、check*padでもそう。個人的にも凄い好きな機能なので、あると嬉しくなる。 さて、これの実装方法はとりあえずは難しくない(ただし、ブラウザの対応具合に不安が多々ある)。ロジックとしてはこうだ。 documentに発生したkeydownイベントをキャッチする。 イベントの発生元がtextareaタグかinputタグの時は、入力なのでイベント無視。 押されたキーが欲しいキーかを判断。 押されたキーに対応する関数を呼ぶ。 というわけで、サンプル。 http://ya-lab.main.jp/prototype-js-cookbook/06_hotkey/ ここではkeybind.jsと、上記サンプルのソースを見てもらいたい。keybind.jsの動作は上で書いた通りなので、ソー

    prototype.jsクックブック ホットキー(ショートカットキー)の実装 - Yet Another ....
    wacky
    wacky 2006/07/22
    キー・バインドのためのJavaScriptライブラリ「keybind.js」。特定のキーに関数を関連付ける。要prototype.js。
  • 繰り返し文字列を生成する、pad - FAX

    繰り返し文字列を生成する、pad JavaScript 特定の文字が繰り返される文字列は以下のように書ける。 // '_'を4回繰り返す new Array(5).join('_') // ____ 指定桁数で埋めるpadは以下。 function pad(str, len, ch){return new Array(len-(''+str).length+1).join(ch) + str} alert(pad(56, 4, '0')); // 0056 追記 2006/8/6 string_repeat - Javascript - Snipplr 普通に繰り返しで書いたほうが速いとのこと。 Permalink | コメント(0) | トラックバック(1) | 22:52

    wacky
    wacky 2006/07/22
    Array と join() を使って任意の文字列を繰り返すテクニック。その応用で、指定桁数の数値を生成。