11件ヒット
[1-11件を表示]
(0.168秒)
検索結果
先頭1件
-
セキュリティモデル (18147.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...セキュリティモデル
RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ
機構が備わっています。
Rubyのセキュリティモデルは「オブジェクトの汚染」と「セーフレベル」という
仕組みによってな......ct#untaint
オブジェクトの汚染を取り除く
=== セーフレベル
各スレッドは固有の「セーフレベル」を持っています。セーフレベルが高くなるほ
ど、行える操作は制限されます。セーフレベルはスレッドローカル変数 $SAFE......。
37415
$SAFE に関するルール
* プログラム開始時の$SAFEの値は0
* 各スレッドは作られた時点での親スレッドの$SAFEの値を引き継ぐ
//emlist[][ruby]{
$SAFE = 0
th = Thread.new{
p $SAFE # => 0
$SAFE = 1
}
th.join
p $SAFE # => 0
//}
* $SAFE の値......: Object#taint
オブジェクトを汚染する
: Object#tainted?
オブジェクトが汚染されている場合に真を返す
: Object#untaint
オブジェクトの汚染を取り除く
=== セーフレベル
セーフレベルはグローバル変数 $SAFE で設定し......。
37415
$SAFE に関するルール
* プログラム開始時の$SAFEの値は0
* 各スレッド固有ではなくなったので必要に応じて ensure で戻す
//emlist{
$SAFE = 0
th = Thread.new do
p $SAFE # => 0
$SAFE = 1
ensure
$SAFE = 0...