Ruby on rails 如何在没有XSS问题的情况下显示地址

Ruby on rails 如何在没有XSS问题的情况下显示地址,ruby-on-rails,Ruby On Rails,我使用的是Rails3.2.x,我有以下代码 <%= order.address.address_array.join('<br />').html_safe %> address是address1、address2、城市名称、州名称、国家名称和邮政编码的数组-标准内容 由于我将内容标记为html\u-safe如果用户输入something您必须在加入之前在地址数组的每一行调用html\u-safe。它应该是这样的(未测试): 在加入之前,您必须在地址数组的每一行上

我使用的是Rails3.2.x,我有以下代码

<%= order.address.address_array.join('<br />').html_safe %>

address是address1、address2、城市名称、州名称、国家名称和邮政编码的数组-标准内容


由于我将内容标记为
html\u-safe
如果用户输入
something您必须在加入之前在地址数组的每一行调用html\u-safe。它应该是这样的(未测试):


在加入之前,您必须在地址数组的每一行上调用html\u safe。它应该是这样的(未测试):


试试:

它将转义脚本,然后添加

而不是换行符。

尝试:


它将转义脚本,然后添加

而不是换行符。

这也将用户输入数据(城市名称)标记为html\u安全。不好的。是吗?是的,我想你是对的。尝试jdoe解决方案或使用.map(&:html\u escape)而不是.map(&:html\u safe)这也会将用户输入数据(城市名称)标记为html\u safe。不好的。是吗?是的,我想你是对的。尝试jdoe解决方案或使用.map(&:html\u escape)而不是.map(&:html\u safe)
<%= order.address.address_array.map(&:html_escape).join('<br />') %>
simple_format(h(address))