php - 存储和访问 WebApp 用户隐私设置的最佳实践?

标签 php mysql settings logic preferences

如果您允许人们决定谁可以查看他们的用户信息,那么存储和访问该信息的最佳方式是什么?

他们会以下列任何一种方式设置他们的偏好:

  • 基于用户(选择特定用户 - 即 block :“Munch”、“Dummy”)
  • 基于复选框(选择一组或多组用户 - 即“我的 friend ”、“我网络中的任何人”)
  • 基于单选按钮(仅选择一组用户 - 即“所有人”)

我目前的想法是,由于信息与正在查看的用户相关,而不是与点击网站的用户相关,因此您必须将这些选项存储在数据库中,并根据任何特定的结果组合运行某个查询。

唯一的问题是可能会有大量不同的查询:

  • 7 个复选框最多可以有 128 种不同的组合 (2^7)
  • 128 种组合 = 128 种不同的优化查询

无论是在编写查询所花费的时间还是在每个页面 View 的查询量(查询以运行另一个查询...blech!)方面,这似乎都不是有效的。

而且因为我确定以前有人这样做过,所以我觉得我一定是忽略了什么。使用 PHP/MySQL 有更好的方法吗?

最佳答案

我会预先将结果计算到一个“无法查看”的表中,即如果 usera 以某种形式阻止 userb(直接或因为他在一个组中),该表会得到一条记录说明这一点。重重写作而不是阅读是一种古老的方法。

关于php - 存储和访问 WebApp 用户隐私设置的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2113615/

相关文章:

mysql从其他数据库插入嵌套选择截断双值

mysql - 获取div刷新中的id

iphone - 关于以编程方式访问 ios 设置

visual-studio-2010 - Visual Studio : show all special characters in a string

c# - 将自定义对象的 ArrayList 保存到用户设置

php - 将提交按钮的格式应用于 CakePHP 中的普通按钮

php - 在php中将特定的mysql表导出到excel

mysql - 根据第一个 SQL select 语句的结果进行选择

php - 虽然循环不显示所有值

php - 302 图像在浏览器中重定向速度较慢