【问题标题】:Is it safe to call params at slim template in rails?在rails中的苗条模板上调用参数是否安全?
【发布时间】:2016-03-29 02:17:49
【问题描述】:

出于安全原因,我只是想知道调用params[:id] 之类的参数是否安全,这些参数来自(eg. /?id=<script>console.log(1)</script>) 中的请求参数,在h3 = params[:id] 等rails 的苗条模板中。

参数是否自动转义或清理?

感谢您的帮助。

【问题讨论】:

    标签: ruby-on-rails slim-lang


    【解决方案1】:

    这实际上取决于上下文,但总的来说,我会说直接在视图中渲染原始参数是一种反模式。参数确实是控制器的关注点。我想不出你想要在没有一些初步处理、验证或清理的情况下在视图中呈现原始参数的情况。

    参数(连同任何其他值)将在视图中进行 HTML 净化,但请记住,用户可能可以在此处提供他们想要的任何值,因此值得问问自己这可能导致哪些漏洞或边界条件。

    最后,虽然这不是绝对规则,但我强烈认为主 ID 应该仍然是数据库的关注点。在某些情况下,将它们暴露给用户或外部世界可能会有风险。原因是如果主键是自动递增的(通常是这样),那么您正在泄漏有关数据库的信息(例如,有多少条记录)。在这种情况下,可能值得隐藏或散列主键。

    【讨论】:

      猜你喜欢
      • 2021-05-11
      • 1970-01-01
      • 2013-08-25
      • 1970-01-01
      • 1970-01-01
      • 2020-06-27
      • 2011-11-25
      • 2014-02-16
      • 2020-10-30
      相关资源
      最近更新 更多