如何在sinatra应用程序中html_escape文本数据?

时间:2010-01-23 15:09:08

标签: ruby sinatra xss

我有一个小的Sinatra应用程序,可以从ERB模板中为我生成html片段。

我如何html_escape输出?

<%= h somestring%> Sinatra中不存在助手。

2 个答案:

答案 0 :(得分:13)

Rack::Utils包含HTML转义方法。 http://www.sinatrarb.com/faq.html#escape_html

答案 1 :(得分:3)

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 %>