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