タグ

ブックマーク / www.on-sky.net (4)

  • Hideki SAKAMOTO の雑記 (2010-09-26)

    ◆ [Sinatra][Ruby] SinatraでI18nライブラリを使う Rubyの軽量フレームワークSinatraでI18nライブラリを使う方法のメモです。I18nについては別の実装としてR18nライブラリというのもあるようです。 まずはライブラリのデフォルトに従い、最小のコードで最低限の機能を実現することを目標にします。 ライブラリのインストール # gem install i18n # gem install sinatra-i18n # gem install rack-contrib ;i18n I18nライブラリ ;sinatra-i18n SinatraからI18nライブラリを使うためのライブラリ ;rack-contrib Rackのミドルウェアとユーティリティを集めたライブラリ。今回はRack :Localeを使います プロジェクトのディレクトリ作成 # mkdir

  • Hideki SAKAMOTO の雑記 (2010-09-29)

    ◆ [Ruby][Sinatra] SinatraでRack::Csrfの例外をハンドリングする SinatraでのCSRF対策にはRack::Csrfが使えますが、普通に use Rack::Csrf, :raise => true とか書いただけでは、errorハンドラで例外を捕捉・処理できません。production環境ではCSRFチェックに引っかかると403応答+真っ白な画面になるのですが、false negativeの可能性が0ではないので、何らかの処理はしておきたいところです。 というわけで、試行錯誤の結果行き着いたのが以下のようなコード。もっと良い方法があったらコメントください。 require 'rubygems' require 'sinatra' require 'rack/csrf' require 'haml' use Rack::Session::Pool use

  • Hideki SAKAMOTO の雑記 (2010-06-23)

    ◆ [Rails] 「Ruby on Rails 携帯サイト開発技法」第9章のサンプルコードに含まれる脆弱性について .tright small.(2010/6/25公開)^J2010/6/27: 「追記1」記載、微修正^J2010/6/28: 脚注*5 修正 まとめ ソフトバンククリエイティブ社から発行されている「Ruby on Rails 携帯サイト開発技法」の第9章に掲載されているサンプルコード(ファイル4/4)にはセッションIDの発行・管理に不備があるため、セッションハイジャックが可能です。 解説 このの第9章には「携帯端末特化型セッション管理」と称していわゆる「かんたんログイン」の実装サンプルが掲載されています。第9章の冒頭部分から、その特長に関する記述を抜粋すると、 Cookieの代わりにリクエストヘッダからの情報を使ってセッション管理を行うという、携帯サイトならではのセッシ

  • Firefoxのセッション管理とSingle Sign-On - Hideki SAKAMOTO の雑記 (2009-11-13)

    ◆ [Firefox]Firefoxのセッション管理とSingle Sign-On [11/15] 他のブラウザの挙動について追記 OpenIDやSAMLなどのSSOシステムは対応するサービスも出揃い、一般化しているというほどではありませんが、あちこちで見かけるようになってきました。しかしこれらのSSOサービスをFirefoxで利用する場合には注意する必要があります。というのは、Firefoxには3年以上前にバグとして指摘されているにもかかわらず、放置され続けているセッションに関する仕様があるためです。 Session Restore remembers logins from session cookies この仕様、当初はクラッシュ時のセッションリカバリの話ということで、べつにそれでいいんじゃない?という方向でいったん落ち着いたようです。 ところがその後、セッションリカバリ機能はこの仕

  • 1