首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何避免在django管理页面中看到敏感的用户数据?

如何避免在django管理页面中看到敏感的用户数据?
EN

Stack Overflow用户
提问于 2021-04-24 09:45:24
回答 1查看 318关注 0票数 3

我做了一个django网络应用程序,用户可以输入一些数据。我已经创建了一个超级用户,作为应用程序的管理员,我可以看到用户输入的数据,这对于名字来说很好,而不是敏感数据,但是我不想看到他们的敏感数据,比如健康数据。

我使用了来自encryptdjango_cryptography.fields模块,如下所示:

代码语言:javascript
复制
health_data = encrypt(models.IntegerField(default=140))

我发现,如果我从外部脚本或简单的DBbrowser查看数据库,它会工作得很好,因为我看不到敏感数据。但是我知道这在django管理中是无缝的:在django管理页面中,它在呈现之前正在解密。

因此,我同意加密数据,这是额外的安全,但这不是我的第一个目标。我想拥有超级用户,但我希望我是,而不是,能够看到他们的敏感数据。你有什么想法吗?我很感谢你花时间阅读。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-24 11:16:35

正如建议的那样,here将我的管理代码从以下内容中更改:

代码语言:javascript
复制
from django.contrib import admin
from .models import MyModel

# Register your models here.
admin.site.register(MyModel)

对此:

代码语言:javascript
复制
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
    # avoid admin can see the sensitive data in admin page
    fields = ("non_sensitive_field1", "non_sensitive_field2",...,)

通过这种方式,我定制了管理页面中呈现的字段。我无法再看到来自管理页面中用户的敏感数据,这是我想要的行为。

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

https://stackoverflow.com/questions/67241363

复制
相关文章

相似问题

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