我是一个相当新手的 Rails 开发人员,但因为 Rails 中的大多数事情都很简单,所以我总是担心在编写代码时添加了新的安全漏洞。例如,就在一小时前,我在几周前编写的代码中发现了一个,在 UsersController 的编辑方法中,我忘记检查您正在编辑的用户是否等于您登录的用户(即 @user = User.find params[:id]
而不是 @user = current_user
)。我这样写是因为我通常将它用于所有编辑方法(例如 @post = Post.find params[:id]
)。这将向您显示其他用户的电子邮件地址。
我应该注意 Rails 应用程序中的哪些常见安全漏洞?由于惯例而容易被忽视的事情(如上面的示例)?
最佳答案
像您所说明的常识问题可能是最重要的安全问题。 Rails 在创建更安全的框架方面已经取得了长足的进步,例如困扰许多 PHP 应用程序的 SQL 注入(inject)(大部分)被现在默认的经过净化的表单输入所覆盖。关于 Rails 安全性的官方说法值得一读:http://guides.rubyonrails.org/security.html
关于ruby-on-rails - Rails 特有的常见安全漏洞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4911374/