Rails 3 -是带有安全参数的link_to



作为一般的经验法则,您不应该信任来自用户的任何数据输入。如果您有一个带有参数的简单link_to:

link_to "Click me", test_path(:my_param => "test")

路由可能看起来像:example.com/test?my_param=test

我如何知道参数或任何注入的数据是否被正确过滤?Rails 3 API没有指定它过滤传递给控制器的数据,但我想确保在使用params数据之前,params[:my_param]在控制器中被安全过滤。

任何想法吗?

Rails框架默认不保护GET请求。Link_to标签正在发送一个HTTP get请求。

如果是POST/PUT/DELETE请求,那么Rails使用protect_from_forgery来验证数据发送url

然而,在你的情况下,写一个简单的方法来验证你的get请求的数据并不难,

您可以编写一个before_filter来检查GET请求的发送参数

HTH

相关内容

  • 没有找到相关文章

最新更新