種類
- 文書 (55)
- インスタンスメソッド (12)
ライブラリ
- ビルトイン (12)
クラス
- Object (12)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - Ruby用語集 (11)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 3 feature (11) -
ruby 1
. 9 feature (11) - tainted? (6)
検索結果
先頭5件
-
Object
# taint -> self (18119.0) -
このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。
...。
環境変数(ENVで得られる文字列)など一部のオブジェクトは最初から汚染されています。
オブジェクトの汚染に関してはspec/safelevelを参照してください。
//emlist[][ruby]{
$SAFE = 1
some = "puts '@&%&(#!'"
p some.tainted? #=> false
eval(so......me) #=> @&%&(#!
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... -
Object
# tainted? -> bool (6112.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#untaint... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (138.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...c_func() も参照。
=== Dir
: ((<Dir#path|Dir/path>)) [new]
追加
=== ENV
: ((<ENV/ENV.clear>)) [new]
: ((<ENV/ENV.shift>)) [new]
: ((<ENV/ENV.invert>)) [new]
: ((<ENV/ENV.replace>)) [new]
: ((<ENV/ENV.update>)) [new]
((<Hash>)) との互換性のために定義されました。......|Time/utc_offset>)) [new]
追加
=== その他
: ((<Array#values_at|Array/values_at>)) [new]
: ((<Hash#values_at|Hash/values_at>)) [new]
: ((<ENV/ENV.values_at>)) [new]
: ((<MatchData#values_at|MatchData/values_at>)) [new]
: ((<aStruct#values_at|Struct/values_at>)) [new]
ruby 1.6 の ((<inde......82>))
((-あらい 2003-08-06: できてる・・・?-))
$SAFE = 1
proc = proc {}
proc.taint
p proc.tainted?
def foo(&b)
p b.tainted?
end
foo(&proc)
=> ruby 1.6.8 (2003-08-03) [i586-linux]
true
true... -
ruby 1
. 6 feature (102.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...ruby-dev:17179>))
ruby -Tv # -v が無効 (ruby 1.6.7 (2002-03-01) [i586-linux])
=> ruby: No program input from stdin allowed in tainted mode (SecurityError)
=> ruby 1.6.7 (2002-07-30) [i586-linux]
: 2002-05-20 IO#close
双方向のパイプの dup を close_write す......れも定義されていないとき引数なしの
Dir.chdir で ArgumentError 例外を起こすようになりました
ENV['HOME'] = nil
ENV['LOGDIR'] = nil
Dir.chdir
=> -:3:in `chdir': Bad address (Errno::EFAULT)
from -:3
ruby......e/nobu/a.rb"
: ((<String>))#each_line
正しく汚染が伝搬していませんでした。((<ruby-dev:13755>))
"foo\nbar\n".taint.each_line {|v| p v.tainted?}
=> ruby 1.6.4 (2001-06-04) [i586-linux]
false
true
=> ruby 1.6.4 (2001-08-06) [i586-linux]
true... -
ruby 1
. 8 . 3 feature (90.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
...cat mthd_taint.rb
th = Thread.new{
$SAFE = 3
class Hoge
def foo
puts "safe level: #{$SAFE}"
end
end
}
th.join
p $SAFE
Hoge.new.foo
$ ruby-1.8.2 mthd_taint.rb
0
"safe level: 0"
$ ruby-1.8.3 mthd_taint.rb
0......taint.rb:11
=== 2005-09-09
: String#* [ruby] [compat]
: String#[] [ruby] [compat]
空文字にも taint が伝播するようになりました。((<ruby-dev:26900>)) ((<ruby-dev:27121>))
$ ruby-1.8.2 -e 'p ("x".taint * 0).tainted?'
false
$ ruby-1.8.3 -e 'p ("x".taint * 0).taint......を適切に解釈するようになりました。
またハイフン - を省略できるようになりました。((<ruby-dev:25512>))
$ env RUBYOPT='Ke rnet/http' ruby -e 'p Net::HTTP'
Net::HTTP
=== 2005-01-17
: WEBrick::Config::SSL [lib] [compat]
オプション :SSLEnable の... -
Ruby用語集 (36.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...===[a:E] E
: ENV
環境変数にアクセスするためのオブジェクト。
Hash に似たインターフェースを持つ。キーも値も文字列である。
ENV で環境変数を変更すると Ruby の子プロセスにも引き継がれる。
参照:ENV
: eRuby
テン......、Ruby のコードである。
参照:rake
: rbenv
複数バージョンの Ruby をインストールし、切り替えて使うための
ツールの一つ。Linux、macOS などで動作する。
https://github.com/rbenv/rbenv
: RD(Ruby Document format)
Ruby スクリプト......も演算子である。
defined? のように、見た目がメソッドのような演算子もある。
参照:spec/operator
: 汚染
: taint
Ruby のオブジェクトは「汚染されているか否か」という状態を持ち、
Ruby のセキュリティー機構はこの汚... -
ruby 1
. 9 feature (30.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...なりました
: Regexp#initialize でリテラルの正規表現を変更できなくなりました
: $SAFE=4 では Regexp#initialize で taint でない正規表現を変更できなくなりました
: Dir で $SAFE のセキュリティ検査を行うようになりました
: メソ......[ruby][change]
レシーバを指定した呼び出しではprivateメソッドを呼び出せなくなりました。
=== 2005-06-09
: ENV.[]= [change]
ENV[key] = nil で要素を削除する機能は失われ、TypeError になるようになりました。
((<ruby-list:40865>))
=== 2005......| p a}
(x)(7) # => 7
=== 2005-05-08
: Hash#hash [obsolete]
: Hash#eql? [obsolete]
削除
((<ruby-dev:26132>))
=== 2005-04-02
: ENV.key [new]
: ENV.index [obsolete]
((<ruby-dev:25974>))
=== 2005-03-09
: Ruby 2.0 ブロックローカル変数
((<URL:http://www.rubyist.net/~matz/...