【问题标题】:Sanitizing Sinatra user inputs清理 Sinatra 用户输入
【发布时间】:2015-03-12 04:06:33
【问题描述】:

我正在构建一个 Sinatra 和骨干应用程序,并且我正在使用 sanitize gem 来清理用户输入。

我想知道在 app.rb 级别、routes.rb 还是 model.rb 级别进行清理的最佳做法是什么?

这有什么不同吗?

【问题讨论】:

    标签: ruby backbone.js sinatra sanitization


    【解决方案1】:

    经验法则 - 尽可能早和/或有意义。原因很简单实用:越早清理 - 成功入侵的可能性就越小。

    【讨论】:

    • 这个想法是在将输入提交到服务器之前对其进行清理。那么问题仍然存在;当您单击提交按钮时,app.rb、routes.rb 或 model.rb 会调用什么?
    • 这是你的应用程序 - 我只能猜测。 sinatra 不会强迫您使用特定的项目结构。
    • 就像 JimiSpire 说的,在提交之前使用主干进行清理,但是由于清理的原因之一是可能的入侵,所以总是在服务器端也进行清理。永远,永远,永远。如果攻击者想以这种方式造成损害,他们会绕过客户端的任何清理代码。为你们俩 +1。
    猜你喜欢
    • 2013-09-14
    • 2012-10-02
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    • 2018-11-04
    • 2019-05-26
    相关资源
    最近更新 更多