4件ヒット
[1-4件を表示]
(0.152秒)
別のキーワード
種類
- インスタンスメソッド (2)
- 文書 (1)
- 変数 (1)
ライブラリ
- ビルトイン (3)
モジュール
- Kernel (1)
キーワード
-
safe
_ level (1) - taint (1)
- セキュリティモデル (1)
検索結果
-
セキュリティモデル (69235.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
セキュリティモデル
RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ
機構が備わっています。
Rubyのセキュリティモデルは「オブジェクトの汚染」と「セーフレベル」という
仕組みによってなりたっています。
=== オブジェクトの汚染
Rubyではオブジェクトは「汚染されている」とみなされることがあります。この
しくみは大きく分けて二つの使われ方をします。
ひとつ目は、信用できない入力をもとに作られたオブジェクトを「汚染されてい
る」とみなし、「危険な操作」の引数として使えないようにすることです。悪意
あるデータによって、プログラムが意図しない動作をする事... -
Kernel
$ $ SAFE -> Integer (54322.0) -
カレントスレッドのセーフレベルを表す整数です。
カレントスレッドのセーフレベルを表す整数です。
セーフレベルについてはspec/safelevel を参照してください。
Thread.current.safe_level と同じです。
非整数を代入しようとすると TypeError が発生します。
この変数はスレッドローカルです。
Ruby起動時の初期値は 0 です。 -
Object
# taint -> self (37.0) -
このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。
このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。
オブジェクトの「汚染マーク」をセットします。
環境変数(ENVで得られる文字列)など一部のオブジェクトは最初から汚染されています。
オブジェクトの汚染に関してはspec/safelevelを参照してください。
//emlist[][ruby]{
$SAFE = 1
some = "puts '@&%&(#!'"
p some.tainted? #=> false
eval(some) #=> @&%&(#!
some.taint
p some.tainted? #=> true
e... -
Thread
# safe _ level -> Integer (37.0) -
self のセーフレベルを返します。カレントスレッドの safe_level は、$SAFE と同じです。
self のセーフレベルを返します。カレントスレッドの
safe_level は、$SAFE と同じです。
Ruby 2.6 から$SAFEがプロセスグローバルになったため、このメソッドは obsolete になりました。
セーフレベルについてはspec/safelevelを参照してください。
//emlist[例][ruby]{
thr = Thread.new { $SAFE = 1; sleep }
Thread.current.safe_level # => 0
thr.safe_level # => 1
//}