计算机安全中最常被引用的真理之一是
只有真正安全的计算机是埋在混凝土中的
关机,网线断了。
考虑到安全存储电子邮件地址的最佳方式? 根本不要存储它们!
tl;dr您需要他们的电子邮件地址,或向他们发送电子邮件的方式吗?要么相信比你做得更好的人,要么根本不使用电子邮件地址。
为什么需要记录客户的电子邮件地址?我遇到的唯一原因是:
确认与认证
我们想要的核心是两步验证:他们知道的东西和他们拥有的东西。他们知道的东西是密码,而且很容易证明,因为他们将是唯一知道密码的人。他们拥有的东西更难证明,传统上我们使用电子邮件地址,因为它很容易验证。这些天虽然我们可以使用其他东西:
- 手机
- 拥有可信网站(Facebook、Google、Twitter)的帐户
手机验证很简单。使用twilio.com 之类的服务向他们发送短信,并要求他们发回确认码。我们现在知道手机属于想要注册的客户。使用 OpenID,您可以通过其他受信任的站点验证现有帐户,并由他们处理确认过程。
为了让客户进行身份验证,他们提供的只是他们的手机号码和密码,或 OpenID 身份验证令牌。两者都不需要电子邮件地址(OpenID 提供商可能会,但那不是您的责任)。
如果这些都不是一个选项,那么您仍然可以确认电子邮件地址,然后将其用于身份验证。确认只需要存储一个唯一的令牌并将一个链接发送到电子邮件地址。存储电子邮件地址的加盐哈希,并使用它来匹配帐户,就像我们处理密码一样。
交易和营销电子邮件
我们要存储电子邮件地址的真正原因!所以我们可以向他们发送我们认为他们需要的东西的报价,这样他们就可以在不阅读的情况下删除它。说真的,电子邮件是最好的媒介吗?如果我们有一个 OpenID 帐户,那么为什么不将它用于通知呢?发送 Facebook 消息或在他们的墙上写字,在 Twitter 上@提及他们,向他们的手机发送短信,构建应用程序并向他们推送通知。有很多渠道比电子邮件更有效。
如果您想使用电子邮件,请使用Mandrill 和MailChimp 等电子邮件平台。当他们注册时,在 MailChimp 上的邮件列表中创建订阅者。将订阅者 ID 与帐户一起存储。对于交易电子邮件(重置密码、帐户更新),获取订阅者并将存储的电子邮件传递给 Mandrill 以发送电子邮件。对于大众营销,只需发送到 MailChimp 中的邮件列表。
唯一存储在数据库中的是订阅者 ID。它还提供了使用电子邮件平台、取消订阅、打开和点击率、电子商务跟踪等的所有好处。电子邮件平台将更好地交付您的电子邮件。他们在保护数据隐私方面也会比您做得更好。让他们完成数据库安全方面的艰苦工作,这样您就可以专注于吸引更多客户。