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

时间:2012-05-25 12:37:20

标签: ruby-on-rails

我正在使用Rails 3.2.x,我在视图中有以下代码。

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

地址是地址1,地址2,城市名称,州名,国家名称和邮政编码的数组 - 标准内容。

由于我将内容标记为html_safe,如果用户在城市名称中输入<script>something</script.,则会执行该javascript代码。

在没有暴露安全问题的情况下,使用换行符显示地址的简洁方法是什么。

2 个答案:

答案 0 :(得分:2)

在加入之前,您必须在地址数组的每一行调用html_safe。看起来应该是这样(未经测试):

<%= order.address.address_array.map(&:html_escape).join('<br />') %>

答案 1 :(得分:1)

尝试:

simple_format(h(address))

它将转义脚本,然后添加<br/>而不是换行符。