12 Aug '12, 4am

汚染

requireは$SAFE = 0で実行される Level 1以上では起動時に以下の違いがある 環境変数 RUBYLIB を $: に加えない カレントディレクトリを $: に加えない 環境変数 RUBYOPT を処理しない 以下のスイッチを使用できない -s -S -e -r -i -I -x (スクリプトがsetgid, setuidされている時も同様) 標準入力からのプログラム読み込みを行わない (スクリプトがsetgid, setuidされている時も同様) setuid, setgid されたスクリプトは $SAFE = 1 以上で実行される。 Procはその時点でのセーフレベルを記憶する そのProcオブジェクトがcallされると、 記憶していたセーフレベルで実行される。 汚染されたMethodオブジェクトがcallされるとレベル4で実行される 汚染された文字列を trap/trace_var の第二引数に指定する とレベル4で実行される ruby 1.7 feature : version 1.7 では、汚染された文字列を第二引数に指定して trap/trace_var を実行するとその時点で例外 SecurityError が 発生する。 レベル4以上ではout of memoryでも fatal にならない。 実装の都合上、Fixnum・Symbol・true・false・nil は汚染されない。 なお Bignum・Float は汚染されることは注意が必要。

Full article: http://www.ruby-lang.org/ja/old-man/html/_A5BBA5ADA5E5A5E...

Tweets

mkmf - Rubyリファレンスマニュアル:

ruby-lang.org 31 Jul '12, 1am

作成した拡張ライブラリを $archdir にインストールします。カレン トディレクトリにディレクトリ lib があればその配下の ruby スクリプト (.rb ファイル)をディレクトリ階層ごと $libdir にインストールし ます。 独立...