From: WATANABE Hirofumi Date: 2003-03-31T14:26:19+09:00 Subject: [ruby-list:37474] Re: Tmpfile.newがデフォルトで/tmpを利用すること わたなべです。 Tadatoshi Kamimura writes: > tempfile.rbを見ると(1.6.8)、initializeの冒頭で > --- > if $SAFE > 0 and tmpdir.tainted? > tmpdir = '/tmp' > end > --- > となっています。tmpdir は initializeの第二引数で、何も指定しなければ > ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'/tmp' となっています。 > ところが、コメントに "ENV values are tainted by default" とあり、 > $SAFE >0 だと、環境変数を指定しても意味がないようです。 cgi.rbを書き換えるんならmkdir c:\tmpしてもらうほうが簡単だと 思いますが、 if $SAFE > 0 and tmpdir.tainted? tmpdir = '/tmp' end を if $SAFE > 0 and tmpdir.tainted? tmpdir = File::writable?('.') ? '.' : '/tmp' end にすれば、少しはましかもしれません。 -- わたなべひろふみ