> 2003/12/09 (火) 16:07:10 ◆ ▼ ◇ [mirai]> > いや、#{user_input_value}って話だと思う
> > user_input_valueにあれなの入れられるとぁぅぁぅするって話だと思う
> > 下のURLでのこととか気をつけてればいいんだけどそれだと制約も厳しくなってナ
> > http://www.ruby-lang.org/ja/man-1.6/index.cgi?cmd=view;name=%A5%BB%A5%AD%A5%E5%A5%EA%A5%C6%A5%A3%A5%E2%A5%C7%A5%EB;em=%B1%F8%C0%F7
> user_input_value = '#{1+2}'
> p "#{user_input_value}" # => "#{1+2}"
> やっぱユーザのインプットはコードとしては解釈されないっぽいが(;´Д`)
erubyや<%...%>ってのがどうしてるのか知らないけど#{1+2}とかが展開されるのは
パーサーがソースをパースするときか明示的にパースするメソッドを呼んだときだけだと思うよ
よくわからんが../../../../etc/passwdこういう入力をチェックしてなかったってことじゃないかな?
参考:2003/12/09(火)16時04分44秒