【发布时间】:2016-08-25 18:59:06
【问题描述】:
假设我有以下内容:
link_to "Excel", params.merge(format: 'xlsx')
Rails 5 说,
试图从未经过滤的请求参数生成 URL!攻击者可以将恶意数据注入生成的 URL,例如更改主机。白名单并清理传递的参数以确保安全。
我想我不明白这是怎么不安全的。任何人都可以在浏览器中键入他们想要的任何内容,然后向我的服务器执行 GET 请求。有什么区别?
我知道我可以通过 permit! 解决它我想要了解的是清理我的参数所完成的工作。
【问题讨论】:
-
@coreyward Rails 使用 CSRF 令牌进行 POST,我说的是 GET 请求。该消息抱怨我在我的网站上生成的 URL,所以通过 CSRF,你是否提议攻击者在我的网站上制作一个 url,当访问该 URL 时包含生成的 url 来攻击其他网站?