以下のようなサードパーティの電子メール サービスに送信する HTML の文字列を作成する Rails アプリを使用しています。
table_html = ""
@tickets.each do |ticket|
table_html << "<tr>"
table_html << "<td> #{ticket.number} </td>"
table_html << "<td>#{ticket.section_name} - #{ticket.row_name} </td>"
table_html << "</tr>"
end
インジェクション攻撃のリスクがあるため、このような html を構築するときは常に html エンティティをエスケープするように同僚から言われました。インジェクション攻撃の基本は理解していますが、エスケープすることでそのリスクがどのように低下するか、また、エスケープするために何を使用すればよいかを誰か説明してもらえますか? Hamlの使用を検討していました。ありがとう!