From: matz@... (Yukihiro Matsumoto) Date: 2003-03-26T12:34:37+09:00 Subject: [ruby-list:37424] Re: Secure「ではない」script の書き方 まつもと ゆきひろです In message "[ruby-list:37423] Re: Secure「ではない」script の書き方" on 03/03/26, Tietew writes: |$SAFE = 1 |p "foo".taint.unpack('C*').tainted? |# ==> false | |String#unpack が汚染を伝播しないようです。 $SAFE = 1 p "foo".taint.unpack('AAA').collect{|x| x.tainted?} # ==> [true, true, true] で伝播しています。外側のArrayは値の入れ物にすぎませんから汚 染していません。 |p "foo".taint.unpack('C*').collect.pack('C*').tainted? |# ==> false | |Fixnum を経由すると汚染除去ができてしまいますね。 |でも,これはかなり恣意的なので untaint と同じに考えていいのかも… 私はそう考えています。