ここ最近、MacBookの作業環境改善に努めている間に、Railsは2.1にバージョンアップしていた。相変わらずの進化のスピード。すでに出遅れた感はあるが、自分のRails環境も2.1にしてみた。Railsの複数バージョン環境は共存できることが分かっているので結構気軽に。でも、2.1環境でちゃんと稼働させるまでには、それなりの試練が待っていた。 gemでアップデート 視野の狭い自分は、いきなりgem update railsとやってしまったが、これではちゃんとアップデートされなかった。まずはgem自体のアップデートが必要なことが多いのであった...。(以前の日記Rails2.0.2を使ってみるにも書いていたのに、すっかり忘れている。)もう一度仕切り直しで、以下のようにしてみた。 gemのバージョンが1.0.1から1.1.1に上がった。 $ sudo gem update --system
こないだ、よくわからんので今度調べると書いたところについて。 CSRFの対応について、rails使いが知っておくべきこと - おもしろWEBサービス開発日記 まずクッキーとセッションの違いから。自分の認識はこんな感じ クッキーもセッションも、ブラウザにデータを保存させる仕組み。 クッキーはデータをそのままブラウザに保存させる。 セッションはセッションIDをブラウザに保存させ、データはサーバ側が保持する。サーバはセッションIDをキーにしてデータを取り出す。 railsでクッキーを設定するには railsでは、クッキーは基本的に使わないと思ってますが、一応使い方をメモ。 cookies[:hoge] = { :value => "value", :expires => "30.days.from_now", :path => "/store", :domain => "www.example.
Rails2.1系のwebサービスを公開している方は注意。 Riding Rails: Potential Circumvention of CSRF Protection in Rails 2.1 どういう事かというと、 通常、RailsはCSRFを防ぐために、フォームにtokenを自動で埋め込みリクエスト受付時に認証を行っています。 ブラウザで普通生成できない、信頼されているcontent-typeのリクエストはそのtokenの認証を行わずスルーしているようです。 その信頼されているcontent-typeリストの中に、ブラウザで生成できる'text/plain'が入ってしまっているようです。 つまり、Rails2.1系で作られたwebサイトに対しては、content-typeをtext/plainにしておけばCSRFし放題ってこと・・・なはず。 対策 次回のアップデートバージョンであ
なにやらRuby1.8.6のNet::HTTPは遅いという噂があります。 InfoQ: RubyのNet::HTTPで何が良くないのか? それでは一体どのライブラリが一番速いのでしょうか。調べてみました。 大きいファイルをダウンロード localhost(apache)に置いた10Mのファイルをダウンロードしてみました。ソースは下記の通り require "rubygems" require "benchmark" require "net/http" require "httpclient" require "open-uri" require "curl" Benchmark.bm do |x| File.open("/tmp/openuri", "w") do |file| x.report("open-uri"){ open("http://localhost/testfile")
Rails 2.0 以前は config/environments.rb にアプリケーション特有の初期化コードを書いたものですが、2.0 以後は config/initializers ディレクトリに置いたファイルが自動的に読み込まれるようになりました。 この仕組みはどんな風に作られているのでしょうか。 rails-2.0.2 ディレクトリで、文字列 'initializers' を含むファイルを検索すると、該当するソースコードはすぐに見つかります。initializer.rb です。Rails::Initializer#load_application_initializers が、問題のメソッドです。 def load_application_initializers Dir["#{configuration.root_path}/config/initializers/**/*.rb
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く