【问题标题】:Data Structure for privacy settings of profiles in the cloud云端配置文件隐私设置的数据结构
【发布时间】:2015-11-15 23:20:10
【问题描述】:

在社交应用(类似于 Facebook)中,用户的个人资料可能如下所示:

{"name": "Peter",
  "gender": "Male",
  "age": "22"}

现在,当人们导航到 Peter 的页面时,人们将能够看到 Peter 的年龄、性别和姓名。

假设彼得是一个非常私密的人,他不希望任何人知道他的任何个人信息。我可以将数据构造成如下所示:

  {"name": "Peter",
  "alias":"GoofyDuck",
  "gender": "Male",
  "age": "22",
  "showGender": false,
  "showName":false,
  "showAge": false}

当其他人导航到他的页面时,由于json中设置的布尔值,该页面可能会阻止显示他的详细信息,但是,如果您有很多个人详细信息字段(例如,除了姓名,性别和年龄,Peter 可以输入他的地址、电话号码等),这可能会使 json 变得不必要地长。

我在想也许二进制字符串上的某种类型的掩码可能更合适:

  {"name": "Peter",
  "gender": "Male",
  "age": "22",
  "privacy":"110"}

在这种情况下,“隐私”字段上的二进制文件可以说只有他的年龄会被隐藏,因为它是 0。

我确实认为二进制字符串是在云上存储首选项的最有效方式,但我还没有看到任何使用掩码来掩盖 java 中二进制含义的示例。

我还可以解析出二进制字符串以分别获取每个值,但我认为这样做效率不高。有没有办法单独屏蔽每个值?

【问题讨论】:

    标签: java json privacy


    【解决方案1】:

    我认为更好的设计是将每个属性与其自己的隐私设置结合起来,如下所示:

    { {"name": "Peter", "show": false},
      {"alias":"GoofyDuck", "show": false},
      {"gender": "Male", "show": false},
      {"age": "22", "show": false} }
    

    这种设计有几个优点:

    1. 比使用蒙版更清楚,其中设置取决于蒙版中的位置
    2. 您可以添加新属性而不必担心影响现有属性的隐私设置
    3. 通过这种设计,您可以进行更多微调的隐私设置,而不仅仅是布尔值:

      { {"name": "Peter", "show": "all"}, {"alias":"GoofyDuck", "show": "all"}, {"gender": "Male", "show": "friends"}, {"age": "22", "show": "none"} }

    4. 一旦您拥有每个属性的结构,您可以在需要时使用更多元数据对其进行增强,例如,

      { {"name": "Peter", "show": "all", "decorate": "bold"}, {"alias":"GoofyDuck", "show": "all"}, {"gender": "Male", "show": "friends"}, {"age": "22", "show": "none"} }

    【讨论】:

    • 同意这个设计。谢谢!但是,不知道如何在 mongodb 中创建它......也许我会在上面发布另一个问题。
    • 这是我的另一个问题:stackoverflow.com/questions/33945922/…
    【解决方案2】:

    你可以有一个可见属性的白名单

    {public_attributes: {"name", "gender", "age"}

    请注意,您不应使用黑名单,因为这可能会在您添加新属性时意外泄露数据

    【讨论】:

    • 如果用户愿意,我希望能够让所有内容成为隐私。就我而言,白名单不存在。
    • 好吧,那显然是一个空的白名单
    猜你喜欢
    • 1970-01-01
    • 2016-07-06
    • 2020-09-22
    • 2017-04-28
    • 1970-01-01
    • 2011-05-23
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多