Wednesday, May 06, 2009

入力データのXSS対策

入力データをそのままデータベースに格納して表示するのは危険らしい
クロスサイトスクリプティング(XSS)といってサーバに悪意のあるスクリプトを埋め込んだりする
対策として一般的なのはデータベースにはそのまま入力を保存するが
表示するときにhtml escapeするようだ
でもこれだとmarkdownとかで表示のユーザビリティを上げる点でよくないけどどうしてるんだろうか

Sinatraでは以下のようにする
helpers do
  include Rack::Utils
  alias_method :h, :escape_html
end

<%=h somedata %>
 

No comments: