首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我如何设置'attr_accessible‘来禁止访问使用Ruby on Rails的模型的任何字段?

我如何设置'attr_accessible‘来禁止访问使用Ruby on Rails的模型的任何字段?
EN

Stack Overflow用户
提问于 2011-01-30 01:46:24
回答 3查看 5K关注 0票数 16

如果在模型文件中,我只有以下代码:

代码语言:javascript
复制
class Users < ActiveRecord::Base
end

这意味着什么?与模型相关的所有属性是否都可以访问?

我如何设置'attr_accessible‘来禁止访问该模型的任何字段?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-30 02:09:58

只需设置:

代码语言:javascript
复制
class Users < ActiveRecord::Base
  attr_accessible #none
end

就像潘·托马科斯所说的那样(attr_accessible是可以批量计算的参数数组。所以如果你没有发送任何符号,那么没有参数是可以访问的。

This ticket was useful

票数 34
EN

Stack Overflow用户

发布于 2011-12-14 01:40:21

从Rails 3.1开始,在显式调用attr_accessible或attr_protected之前,默认情况下可使用以下配置选项为所有模型禁用批量分配:

代码语言:javascript
复制
config.active_record.whitelist_attributes = true

请参阅http://edgeguides.rubyonrails.org/security.html#mass-assignmenthttps://github.com/rails/rails/commit/f3b9d3aba8cc0ffaca2da1c73c4ba96de2066760

票数 1
EN

Stack Overflow用户

发布于 2018-05-15 11:43:21

我更愿意更明确地否认一个模型:

代码语言:javascript
复制
class Users < ActiveRecord::Base
  attr_accessible nil
end

结果与没有参数的attr_accessible相同,但使您的意图更清晰。这将减少未来程序员(例如您自己!)将删除开始添加字段到attr_accessible的line...or。

这安抚了Brakeman和其他漏洞嗅探工具。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4838399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档