首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐私问题-数据库

隐私问题-数据库
EN

Stack Overflow用户
提问于 2011-06-20 02:56:13
回答 2查看 105关注 0票数 3

如果我有这个表:

代码语言:javascript
复制
users
-----
id_users (pk)
age
name
gender
salary

对于这些值中的每一个,都需要一个在用户配置文件中设置可见或不可见的选项。你认为这样做最好的方法是什么?

例如,将字段salary隐藏到person x,但允许person y。基本上有些人可以查看一些属性。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-20 03:07:59

如果默认隐私将显示给所有人,那么您可以创建一个表来保存特定用户对特定用户的所有隐藏设置。

这是我建议使用的表,其中包含三列的复合PK

代码语言:javascript
复制
hide_details
------------
visitor_id
user_id
what

以下是一些示例数据:

代码语言:javascript
复制
visitor_id      |       user_id     |       what
    1                       2               age
    1                       2               name
    3                       4               salary

如果您将另一个列添加到用户的表中,则以后不必更新此表模式。建议,如果您想让这件事变得非常快,您可以将列名映射到整数,并在您的应用程序逻辑中使用它进行比较。例如name = 1,age = 2,等等。因此,当您进行隐藏名称或不隐藏名称的比较时,您只需检查隐藏数组中是否有包含该整数的记录。

您可以像下面这样使用它:在显示配置文件之前,将该访问者的所有隐藏记录提取到该配置文件中,并将其放入一个数组中,然后显示任何未隐藏的内容。

例如。

代码语言:javascript
复制
$hide = array('name', 'age', 'salary');

然后,您可以像这样检查:

代码语言:javascript
复制
echo (in_array($hide)) ? '' : '<div>Name:'.$name.'</div>';
票数 3
EN

Stack Overflow用户

发布于 2011-06-20 03:01:31

您需要为查看数据的人员提供权限表。它可以有id_person、may_view_age、may_view_salary等字段。

如果访问者应该只能看到某些人的某些信息,那么您还需要在users表中包含该用户的字段,例如department_id

如果我们对您的应用程序一无所知,就很难提出更具体的建议。

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

https://stackoverflow.com/questions/6404471

复制
相关文章

相似问题

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