0

我正在构建一个开源的、用户贡献内容的网站,我认为如果开发人员可以访问每晚的生产 SQL 转储,他们更有可能从 github 上查看代码并玩用它。

根据这个想法,我正在考虑:

  • 根本不收集私人用户信息,对帐户使用 open-id,并大量使用 memcache 进行会话身份验证等。
  • 在发布之前匿名敏感数据

有时我会被“如果...不是很酷吗?”得意忘形。想法,所以我希望在这里进行健全性检查。这两种方法有什么明显的缺陷吗?这是一个理智的想法吗?

4

3 回答 3

2

一般来说,我认为你应该两者都做。您收集的任何私人数据对您来说都是一种责任,而不仅仅是因为您打算发布您的数据库。你能收集的越少越好。

然而,出于同样的原因,您可能会意识到敏感的不仅仅是 ID 和密码。还记得AOL 搜索数据泄露吗?还是 Netflix 数据库出版物?即使没有 ID,人们也能通过拼凑用户行为轨迹并将其与其他地方的数据对应起来,设法找出一些账户的真实身份。有些人对他们的搜索历史和电影租借感到尴尬。去搞清楚。

因此,我认为一般规则应该是尽可能少地收集,并将剩下的匿名化。即使您不存储与某个帐户对应的人的身份,您也可能想要打乱各种登录的操作。

另一方面,在某些情况下,您根本不关心这种隐私。例如,在维基百科中,您在网站上可以做的几乎所有事情都是公开的。至少,记录在数据库中的所有内容。如果信息已经通过 API 可用,则将其隐藏在数据库下载中是没有意义的。

于 2009-02-13T20:55:05.583 回答
1

除了收集更少的数据匿名您收集的数据之外,您还可以添加一个位/标志供用户选择是否包含他们的数据。您可以将其设置为 CC 许可证标志,以便在满足您的需求的同时为用户提供温暖的'n'fuzzies。

于 2009-02-13T21:06:10.440 回答
0

听起来是个不错的主意。您必须注意的一件事是安全性,因为黑客会知道您的数据库的确切架构。虽然这不是不可能处理的,但只要看看大多数开源项目。但是您需要更加强调安全性,因为现在可以更轻松地进行潜在的 SQL 注入。

另一件事是双重确保敏感数据是匿名的。此外,有些人可能(错误地)试图声称他们对用户提交的内容的版权受到侵犯,因此您可能需要指定 CC 许可证或其他东西,只是为了让一切更加清晰并防止将来出现问题(即使您是对的) )。

于 2009-02-13T20:35:25.023 回答