• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/137

先日見つかった、CGI.rbのDoS脆弱性を簡単に修正するHotfix RubyGemsが公開されたようです。 RubyGem Hotfix for cgi.rb Vulnerabilities Released

RubyGemsなので使い方は簡単です。以下のようにHotfixをインストールします。

sudo gem install cgi_multipart_eof_fix --source blog.evanweaver.com
続いて、Rubyアプリケーションの中でHotfixを呼び出します。
require 'rubygems'
require 'cgi_multipart_eof_fix'
Railsアプリケーションの場合であれば、environment.rbの中に記述すればOKです。

稼動中のシステムを抱えていて、簡単にRuby本体のバージョンを上げられない場合などには重宝しそうですね。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/137

posted by Png genki on Thu 7 Dec 2006 at 05:18

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/135

Ruby on Railsで、form_forのようなブロック引数を取るhelperメソッドを書く方法を紹介します。

ブロック引数を取るhelperメソッドは、例えば以下のような感じで使うとします。

<% foo do %>
  test
<% end %>
この結果、以下のようにヘッダとフッタが挿入された結果が出力されるとします。
foo header
  test
foo footer
このような挙動をさせるためのfooメソッドの定義は、以下のようになります。
def foo(&block)
  concat('foo header', block.binding)
  block.call
  concat('foo footer', block.binding)
end
concatメソッドは、ERbが内部的に使用している_erbout変数に文字列を追加します。 concatメソッドの定義はこんな感じです。
def concat(string, binding)
  eval("_erbout", binding).concat(string)
end
blockが持っているERbの実行コンテクストで_erbout変数にアクセスし、 _erbout.concat(string)を呼び出しています。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/135

posted by Png genki on Thu 7 Dec 2006 at 04:49
Contents
CGI.rbのDoS脆弱性を簡単に直すRubyGems
ブロック引数を取るhelperメソッドの書き方
Comments
瀧内元気: MacOS版は以下にあります * [genki/ViMouse](https://githu... '23-1
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
瀧内元気: おお、チェックしてみます。thx! '11-12
overisland: Reeder for iPhone もこの UI を実装していますね。 '11-12
瀧内元気: その情報は見たのですが、以下のサイトによると、現在はまた必要になってるっぽいんですよね。 ... '11-12
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ