Safe ERBを利用してみました

 OSC2008で話に聞いた、Safe ERBを利用してみました。


 最初safe_erbで検索してみたら、この日記が2番目に出てきて焦りましたが、「Safe ERB」が正式名称なのですね。
 http://d.hatena.ne.jp/kstn/20071225/1198549608にて、2.0対応していると書かれていたので、安心して入れました。
 2.0ユーザにとってはありがたいことです。


 コマンドラインからのインストールについては参照先に書かれていますが、NetBeansならば、プロジェクトを右クリックして「Rails プラグイン...」を選択、「リポジトリ」タブを開いて、「URLを追加」で、「http://safe-erb.rubyforge.org/svn/plugins/」を追加すれば、「新しいプラグイン」タブにsafe_erbが登場します。


 早速起動したところ、何も反応が無いので、これなら安全?とか思っていたら、単にErubisが有効になっていたためにERBが働いていなかっただけで、結果はぼろぼろでした・・・ああ、やっぱり。


 実際は、ユーザ入力を一般に表示するような画面は無いので、XSS攻撃を受けることは無いはずですが、セキュリティは穴があってはならないので、安易に考えず、きちんと修正しないといけませんね。


 Erubisにもこういう機能がありそうな気はしますが、あまり詳しくないのでそのうち調べようかと。プリプロセスを使ってしまうとSafe ERBの検証が実質的に無意味になってしまうのではないかと懸念していますが、これも知らないので調べないと・・・