想象一下,您有一个用户模型,其中包含用户名和其他几个属性。用户只能在唱歌时设置用户名,而不能在稍后编辑他的个人资料时设置。
尽管如此, :user_name 属性需要通过用户模型中的 attr_accessible 访问注册表单。
这让我想知道恶意用户是否可以更改允许他编辑个人资料的表单,并将输入名称更改为 user_name,从而实际上在提交时更改它。
我对此是否正确,即恶意用户可以这样做还是 Ruby 会以某种方式发现表单已更改?如果这是一个安全问题,我如何始终在我的更新方法中重置用户名?是否有一种区分可访问和可访问但不可编辑的属性的方法?