別のキーワード
種類
- 文書 (36)
- インスタンスメソッド (15)
- オブジェクト (6)
ライブラリ
- ビルトイン (21)
クラス
- Object (15)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - ENV (6)
-
ruby 1
. 6 feature (12) - taint (6)
- セキュリティモデル (12)
検索結果
先頭5件
-
Object
# tainted? -> bool (18131.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... -
Object
# tainted? -> false (18113.0) -
常に false を返します。 全てのオブジェクトは常に untainted 扱いになりました。
...常に false を返します。
全てのオブジェクトは常に untainted 扱いになりました。
このメソッドは Ruby 2.7から deprecated で、Ruby 3.2 で削除予定です。
@see Object#taint,Object#untaint... -
ruby 1
. 6 feature (5173.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) ->......EWOULDBLOCK
=> ruby 1.6.7 (2002-03-01) [i586-linux]
Errno::EAGAIN
Errno::EWOULDBLOCK
=> ruby 1.6.8 (2002-12-24) [i586-linux]
Errno::EAGAIN
-:2: uninitialized constant EWOULDBLOCK at Errno (NameError)
=> ruby 1.6.8 (2003-02-13) [i......-- ~/a (LoadError)
$ ruby14 -v -r~/a -e0
ruby 1.4.6 (2000-08-16) [i686-linux]
"/home/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) [i58... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1410.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への変更点(まとめ)/サポートプラットフォームの追加>))
...動作はなくなりました)
$defout や $deferr に代入を行うと警告がでます。
(注:1.6 に $deferr はありません)
((<ruby-dev:20961>))
$stdin にオブジェクトを代入すると標準入力からの入力メソッド(gets 等)
はそのオブジェクトにメ......オプションは $VERBOSE = nil の指定(-W0)を可能にします。
: ruby interpreter [ruby] [change]
クラスの特異クラスの特異クラスは特異クラス自身であると定義されました
((<ruby-bugs-ja:313>))。なんだかよくわかりません(^^;
class <......なくなりました ((<ruby-dev:15682>))
((-あらい 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-l... -
セキュリティモデル (76.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...セキュリティモデル
RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ
機構が備わっています。
Rubyのセキュリティモデルは「オブジェクトの汚染」と「セーフレベル」という
仕組みによってな......りたっています。
=== オブジェクトの汚染
Rubyではオブジェクトは「汚染されている」とみなされることがあります。この
しくみは大きく分けて二つの使われ方をします。
ひとつ目は、信用できない入力をもとに作られた......う使い方です。
オブジェクトの汚染に関連するメソッド
: Object#taint
オブジェクトを汚染する
: Object#tainted?
オブジェクトが汚染されている場合に真を返す
: Object#untaint
オブジェクトの汚染を取り除く
=== セ... -
Object
# taint -> self (62.0) -
このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。
...このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。
オブジェクトの「汚染マーク」をセットします。
環境変数(ENVで得られる文字列)など一部のオブジェクトは最初から汚染されています。
オブジェクト......。
//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
//}
@s... -
ENV (30.0)
-
環境変数を表すオブジェクト。Hash と同様のインターフェースを持ち ます。ただし、Hash と異なり、ENV のキーと値には文字列しか とることができません。
...ます。
//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?......# => true
//}
Windows では環境変数は大文字、小文字を区別しません。(cygwin を除く)
//emlist[例][ruby]{
ENV['OS'] # => Windows_NT
ENV['os'] # => Windows_NT
//}...