如何阻止特定用户字段的更新

我使用 CSS 隐藏了某些用户字段。
但是,它们仍然可以通过 Rails 控制台、API 或开发者工具进行更新。
如何确保没有人可以通过上述方法更新这些字段(例如网站或位置)?

编写一个插件来更改 API(即覆盖控制器、模型或相关的库函数)

顺便说一句,这非常不可能,只有管理员才能访问 Rails 控制台。

4 个赞

如果你隐藏了这些值的显示,那么它们填写这些值又有什么关系呢?这需要用户想办法添加一个位置,然后另一个用户需要想办法访问他们的个人资料并查看他们输入的内容。

除非你分叉 Discourse 来从模型中删除这些字段,否则很难阻止有权访问 rails 控制台的人在其中输入数据。

你可以编写一个插件,定期运行并将其设置为你想要的任何字段为 nil。或者,你可以在用户个人资料更新时调用一个钩子,将这些字段设置为 nil。请在 GitHub - discourse/all-the-plugins 中查找具有“add_model_callback”和“:before_save”的插件作为示例。然后,你将为 UserProfile 执行此操作。

4 个赞

感谢您的回答,我会用这些信息来解决问题。我也同意这种程度的封锁有点过了,但这确实是任务要求。

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.