在rails中转义URL

时间:2011-06-28 10:39:40

标签: ruby-on-rails security escaping xss

我有一个评论系统,人们可以在网站上留下评论。由于rails现在默认逃避一切,我实际上并没有做任何事情来避免XSS,它几乎可以找到它。由于某种原因,URL未被转义。

为了显示用户名,我有一个简单的帮手:

def display_name(name, site)
  if !site.blank?
    return link_to(name, site)
  else
    return name
  end
end

但是如果你把像javascript:alert(1)这样的东西放到网站领域,它会直接注入页面 - 任何想法如何逃避这个?

1 个答案:

答案 0 :(得分:2)

即使您逃脱了javascript,恶意用户仍然可以创建指向删除可能会影响用户数据的网址的网址。为什么不在收集URL时验证URL?

validates :attribute, :url => true

我建议使用Thong Kuah的UrlValidator