HTMLタグ周りのヘルパーメソッド

HTMLタグだけエスケープしないヘルパーメソッド

railsではよく、XSS攻撃対策としてhメソッドを使いますが、はてダのようにHTMLタグをタグとして認識させたい場合、hメソッドは使えません。


HTMLタグだけタグとして認識させ、その他の危険要素はエスケープできるような便利メソッドはないの・・・?


調べていたら、見つけました。
ActionView::Helpers::SanitizeHelperにsanitizeというメソッドがあるようです。


ただRails1系では、ブラックリスト方式でエスケープする要素を指定しているらしいので、一般ユーザからのPOST内容に使う場合は注意が必要かもしれません。
Rails2系では、ホワイトリスト方式に変更されているそうです。

HTMLタグを取り除くヘルパーメソッド

逆に、HTMLタグをすべて取り除くヘルパーメソッドもほしい!
自分で実装したくないので(←)またまた調べていたところ、このような記事を発見しました。


Rails - HTMLタグをすべて除去するヘルパーメソッド | AAC通信


こちらも同じくActionView::Helpers::SanitizeHelperに、strip_tagsというメソッドがあるんですね。
私ももう少しで同じ道を辿るところでした(笑)(ありがとうございます)