18件ヒット
[1-18件を表示]
(0.022秒)
種類
- インスタンスメソッド (12)
- オブジェクト (6)
クラス
- Object (12)
検索結果
-
ENV (38084.0)
-
環境変数を表すオブジェクト。Hash と同様のインターフェースを持ち ます。ただし、Hash と異なり、ENV のキーと値には文字列しか とることができません。
...、Hash と異なり、ENV のキーと値には文字列しか
とることができません。
ENV で得られる文字列は ENV['PATH'] 以外は常に汚染されています。
オブジェクトの汚染に関しては spec/safelevel を参照して下さい。
ENV['PATH'] はその要素......//emlist[例][ruby]{
p ENV['TERM'].tainted? # => true
p path = ENV['PATH'] # => "/usr/local/bin:/usr/bin:/bin:/usr/X11/bin"
p path.tainted? # => false
//}
また、ENV で得られる文字列は Object#freeze されています。
//emlist[例][ruby]{
p ENV['TERM'].frozen? # => tru......e
//}
Windows では環境変数は大文字、小文字を区別しません。(cygwin を除く)
//emlist[例][ruby]{
ENV['OS'] # => Windows_NT
ENV['os'] # => Windows_NT
//}... -
Object
# tainted? -> bool (18121.0) -
...ます。
オブジェクトの汚染に関してはspec/safelevelを参照してください。
//emlist[][ruby]{
p String.new.tainted? #=> false
p ENV['OS'].tainted? #=> true
//}
このメソッドは Ruby 2.7から deprecated で、Ruby 3.2 で削除予定です。
@see Object#taint,Object#un... -
Object
# taint -> self (38.0) -
このメソッドは 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
eval(some) # Insecure operation - eval (SecurityError)
some.untaint
p some.tainted? #=> false
eval(some) #=> @&%&(#!
p ENV['OS'].tainted? #=> true
//}
@see Object#tainted?,Object#untaint,Object#freeze...