阻止显示来自用户输入 Sinatra 的 Html 标签?
Prevent Display Of Html Tags From User Input Sinatra?
我有一个应用程序,用户可以在其中输入他们想要的任何内容,它会显示在一个单独的页面上。我想让它准确显示用户输入的内容,而不是将标签处理为 html。例如,如果用户输入 let me use a <hr>
它实际上不会创建一条水平线,它会输出 let me use a <hr>
。这将必须对用户输入中的所有 html 标签普遍执行此操作。
这是我在我的应用程序中的做法,将以下内容添加到 app.rb:
helpers do
include Rack::Utils
alias_method :h, :escape_html
end
那么在你看来你可以这样做:
<%= h user_input %>
我实际上最终解决了我自己的问题。我写了这个函数:
def func(var)
var = var.gsub(/[<]/,"<")
var = var.gsub(/[>]/,">")
end
然后在我需要插入 HTML 的任何字符串上调用它。
我有一个应用程序,用户可以在其中输入他们想要的任何内容,它会显示在一个单独的页面上。我想让它准确显示用户输入的内容,而不是将标签处理为 html。例如,如果用户输入 let me use a <hr>
它实际上不会创建一条水平线,它会输出 let me use a <hr>
。这将必须对用户输入中的所有 html 标签普遍执行此操作。
这是我在我的应用程序中的做法,将以下内容添加到 app.rb:
helpers do
include Rack::Utils
alias_method :h, :escape_html
end
那么在你看来你可以这样做:
<%= h user_input %>
我实际上最终解决了我自己的问题。我写了这个函数:
def func(var)
var = var.gsub(/[<]/,"<")
var = var.gsub(/[>]/,">")
end
然后在我需要插入 HTML 的任何字符串上调用它。