【问题标题】:Unsafe parameter value in link_to hreflink_to href 中的不安全参数值
【发布时间】:2016-01-12 06:59:42
【问题描述】:
我已在模板文件中添加了以下行
link_to("CSV", params.merge(:action => "list", :format => :csv, :filename => filename)
安全评估工具显示存在与此相关的跨脚本漏洞的警告。我需要知道
1)为什么会出现这样的漏洞?
2)这个问题的解决方法是什么?
【问题讨论】:
标签:
ruby-on-rails
ruby
ruby-on-rails-3
xss
erb
【解决方案1】:
我认为没有必要将 :format 和 :filename 合并到参数中。
这将导致两大并发症。
- 有人可以修改查询字符串,从而导致安全漏洞。
- 在运行时拥有用户定义的符号并将它们与参数合并,也为 DoS(拒绝服务)攻击留下了大门。
(你可以google一下这些问题的详细解释)
专注于解决这个问题的方法是
link_to("CSV", :action => "list", :format => :csv, :filename => filename)
或者如果它在其他控制器中
link_to("CSV", :controller => "controller_name", :action => "list", :format => :csv, :filename => filename)
这可能会帮助您解决问题。
祝你好运。