32

所以我正在编写一个移动应用程序,并且已经到了需要允许用户注册用户名的地步。我通过询问电子邮件地址、用户名和密码来做到这一点。

通常,通过让用户通过单击发送到其收件箱的链接来确认其电子邮件地址来在网络上设置此类事情是很正常的。

不用说,在移动应用程序上这有点笨拙,因为用户将被重定向出您的应用程序并进入他的浏览器。

因此,我查看了其他移动应用程序是如何做到的(WP7),并惊讶地发现 DropBox 和 Evernote 都允许您在不确认您的电子邮件地址的情况下进行注册。这样做的最终结果是,我能够使用完全伪造的电子邮件地址和/或不属于我的有效电子邮件地址进行注册。

我认为这是故意的。

你的意见?

4

8 回答 8

10

在编写社交网络风格的应用程序时,我遇到了同样的问题。我选择让用户创建一个用户名,然后提供电子邮件和密码。我不验证电子邮件地址,也从未尝试向他们发送任何电子邮件(至今)。

我建议的是验证用户电子邮件地址的替代方法。我的应用程序允许用户进行 Facebook Connect。他们所要做的就是登录 Facebook,该应用程序会与 Facebook 对话以确认他们使用的是有效的电子邮件地址。无需使用电子邮件中的 URL 进行验证。

我相信 Twitter 也有类似的服务,甚至可能还有其他一些提供 API。

我还发现很多人只是想在应用程序中摆弄,根本不想创建帐户。这绝对是一种平衡行为

于 2012-12-24T04:36:33.283 回答
9

我想说这取决于您的应用程序以及确保用户拥有有效电子邮件地址的重要性。在我现在正在创建的应用程序中,我们希望阻止用户注册多个虚假帐户(因为我们的系统可能会以这种方式进行游戏),因此我们不允许用户登录,直到他们的电子邮件地址得到验证。然而,在其他网站上,这可能没什么大不了的,那么为什么还要用这个额外的步骤来打扰用户呢?

至于移动设备,我不明白为什么您仍然无法发送验证电子邮件,将他们发送到您的网站以验证他们的电子邮件地址。有很多移动应用程序也有一个网站,用户可以登录来管理他们的帐户。

于 2012-07-30T11:33:32.537 回答
5

另一种选择是为用户提供多个“状态”。在他们验证电子邮件之前,他们处于“待处理”状态。一旦他们点击它,他们就处于“活动”状态。如果您createDate为用户存储 ,您可以定期删除超过 1 周(或多长时间)的待处理用户。

好处是您可以轻松添加更多状态,例如暂停或删除。

于 2013-02-12T04:16:11.437 回答
3

就个人而言,我不太乐意让用户使用任何旧电子邮件地址创建帐户。

我认为一些不错的选择是:

  • 发送带有链接的确认电子邮件,该链接使用自定义 URL 架构重定向回应用程序(尽管这仅在他们使用同一设备上的链接时才有效)

  • 在电子邮件中发送一个简短的 PIN 码,让他们重新输入应用程序。

  • 发送带有网络链接的确认电子邮件,让您的服务器确认有效的电子邮件/令牌,并让您的应用定期或使用某种实时技术(如 SignalR 或 Firebase)检查帐户状态。

我更喜欢最后一个,虽然最难实现。用户很可能手里拿着手机,旁边有笔记本电脑,在应用程序中注册并尝试单击笔记本电脑上刚刚显示的电子邮件中的链接。我喜欢该应用程序的想法,然后只是“知道”他们已经验证。

于 2016-01-23T19:10:23.230 回答
1

你有网络服务器吗?编写一个 Web 服务,在服务器端为您进行验证,然后发回结果。

于 2013-02-11T20:07:26.023 回答
1

要么你可以使用一些平台,比如上面@Brian 回复的 Facebook connect,要么你可以给用户一个合理的时间框架来验证,例如几天甚至一周。之后,该帐户将被删除。

您甚至可以让您的应用发出通知以提醒用户验证他的帐户(例如每天,或在验证的最后日期。

于 2013-02-12T12:07:28.290 回答
1

不要在移动设备上要求电子邮件确认,并允许用户使用该服务。当用户使用 PC 时,请要求用户确认他的电子邮件。

我不会为我的建议辩护,因为这里的大多数解决方案都是有效的。没有一种正确的方法。你问了一些想法,这是一个。

于 2013-02-12T12:24:50.893 回答
1

一个好的策略是允许人们根据他们提供的数据量尽可能多地使用您的应用程序。

例如,在新闻阅读器的情况下,您可以让某人在不注册的情况下浏览您的应用程序,然后需要一个帐户来进行离线同步,并需要一个经过验证的电子邮件才能发出警报。总是给人们一个很好的理由来采取下一步行动,首先建立参与,然后人们会原谅你以后纠缠他们。

于 2013-02-12T14:14:55.233 回答