Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
转义html以防止注入_Html_Ruby On Rails_Ruby_Code Injection_Html Injections - Fatal编程技术网

转义html以防止注入

转义html以防止注入,html,ruby-on-rails,ruby,code-injection,html-injections,Html,Ruby On Rails,Ruby,Code Injection,Html Injections,我正在rails应用程序中构建一个html字符串,以发送给第三方电子邮件服务,例如: table_html = "" @tickets.each do |ticket| table_html << "<tr>" table_html << "<td> #{ticket.number} </td>" table_html << "<td>#{ticket.section_name} -

我正在rails应用程序中构建一个html字符串,以发送给第三方电子邮件服务,例如:

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。谢谢

默认情况下,Rails转义。你在哪里使用这个代码?可能你不需要做任何事情,它不在视图中,它在lib目录的ruby类中,那么它可能不会被转义。逃逸的作用之一是改变为什么在lib中?您不能使用ActionMailer或类似工具集成mailer服务吗?这可能会引起一些兴趣,可能已经回答了以下问题: