How do I html_escape text data in a sinatra app?

2019-02-22 00:33发布

问题:

I have a small Sinatra app which generates html fragments for me from an ERB template.

How do I html_escape the output?

The <%=h somestring %> helper does not exist in Sinatra.

回答1:

Rack::Utils includes a HTML escape method. http://www.sinatrarb.com/faq.html#escape_html



回答2:

require 'CGI'

get '/html' do
  erb :view
end

def h(html)
  CGI.escapeHTML html
end

__END__
@@view
  <% File.open('my.html') do |f| %>
   <%=h f.read() %>
  <% end %>


标签: ruby sinatra xss