うーむ……
$SAFE = 1 path = 'danger'.taint puts File.expand_path(path) # 通る
print str.taint は通ってしまうのか。 通さないと不便だが、通すのも嬉しくないような気がするな。 puts File.expand_path('~') なんてのが通ると CGI を実行してるユーザと そのホームディレクトリも推測できてしまう。
この場合はむしろ expand_path が例外をあげるべきかなあ。 微妙だ。
(04:22)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.