
最近龟软的 outlook 个人邮箱账户 SMTP 似乎被禁用了,这种情况出现好几次了,每次都过了半个月才发现发不了验证码,思来想去决定简化注册流程,毕竟除了恢复密码外,我根本不需要用户的邮箱。
1 Muniesa 2024-10-08 21:48:00 +08:00 想不到,但你这个发不了邮件的问题,或许可以找回密码时让用户使用注册时留的邮箱主动发验证码过来? |
2 ChrisFreeMan OP @Muniesa 不打算继续用这些邮件服务了,经常还要盯着是不是服务异常,增加了工作量,太不值得了 |
3 grayish 2024-10-08 22:21:55 +08:00 |
4 Nosub 2024-10-08 22:26:40 +08:00 via iPhone 邮箱就是账户名,最简单的办法,不然你只能通过手机号了。 |
5 NoOneNoBody 2024-10-08 22:52:08 +08:00 看样子不是很严谨的网站 其实留邮箱更多是防 bot 暴力破解以及验证本人操作,不是取回密码的必要步骤 这也简单,注册时让对方留下一句无需纸笔自己也绝不会忘记的话,需要一定长度,并大字注明这是唯一重置密码的方式,届时要一字不差输入,将这句话和用户名加盐 hash 保存 用户不记这些东西,说明他也不在意丢失账密无法登入 至于暴力破解,用其他方式拦截 |
6 OP |
7 ChrisFreeMan OP @NoOneNoBody 嗯嗯,差不多也是我想的,在变成严谨网站之前,我打算先最简化,并保证一定的安全。 |
8 weakish 2024-10-08 23:09:05 +08:00 问题和答案不是很可靠,用户只有注册的时候才会设置问答,设置好之后以后基本上就再也不用了,到需要恢复账号的时候可能已经忘掉了问答,除非你定期提示用户回答这些问题,如果回答错误就要求重新设置,但是这样对用户来说很麻烦。然后用户如果设置的答案过于简单很可能被攻击者猜到。 可以提示让用户绑定多个不同服务商的邮箱,这样用户收不到的时候,可以自己在 UI 选择发送到其他邮箱,当然很多用户可能只绑定一个邮箱,但是绑多个邮箱的用户重试比率超过阈值的时候可以发告警,一定程度上可以减轻工作量。 除了邮箱还有就是手机,但是其实很多地区的用户比较排斥绑定手机号,而且通过短信发验证码一样有送达率问题而且发短信比邮件贵多了。另一个途径是通过 WhatsApp API 给相应手机号发验证码,但不是所有人都用 WhatsApp 的。 所以盯着邮件服务是否异常(包括人工盯以及设置自动告警)的工作量基本上是省不掉的。 要最省力,那就是在注册的时候提示用户妥善保存用户名和密码,丢失后无法找回,只能重新注册新账号。 |
9 gwy15 2024-10-08 23:12:36 +08:00 用 mailgun 之类的发信服务呗 |
10 ChrisFreeMan OP @weakish 感谢回复 |
11 ChrisFreeMan OP @gwy15 中国联通把我境外接收短信功能关闭了,我发现的时候超出了短信接收上限,不知道会不会恢复,我明早试试。另一个竞争对手,sendgrid 直接把我 ban 了,所以我感觉我得搞一个更加不依赖第三方的方式,一劳永逸。 |
12 drymonfidelia 2024-10-08 23:19:35 +08:00 面向程序员的网站可以考虑 GPG 签名或者 GitHub 的公钥验证找回密码 |
13 drymonfidelia 2024-10-08 23:20:46 +08:00 面向普通人就只能根据要求回忆账号近期操作、近期消费交易号来验证了,大厂也是这么做的 |
14 106npo 2024-10-08 23:22:06 +08:00 绑 oAuth 也行 |
15 jeesk 2024-10-09 02:24:15 +08:00 via Android 没有秘密, 使用邮箱,手机验证码或者第三方登陆(微软,谷歌,苹果), 参考 supercell 的方案。 |
16 jeesk 2024-10-09 02:32:58 +08:00 via Android 没有密码, 使用邮箱,手机验证码或者第三方登陆(微软,谷歌,苹果), 参考 supercell 的方案 |
17 as9567585 2024-10-09 03:04:05 +08:00 Google 身份验证器 也叫 动态口令 |
18 promiser3d 2024-10-09 04:07:45 +08:00 直接简单点不要密码。 用户邮箱登录,就直接发送登录码到邮箱; 或者干脆用公众号登录。发送登录码到公众号,就直接关联登录了。 |
19 Livid MOD PRO |
20 agood 2024-10-09 06:33:09 +08:00 via iPhone 用通行密钥,密码都可以省了,恢复账号的话可以登录后 |
21 agood 2024-10-09 06:37:41 +08:00 via iPhone 注册之后显示一段恢复代码让用户保存,恢复代码只显示一次,安全期间还可以加上 2fa 验证,第三方登录也是不错的选择 |
22 xuanbg 2024-10-09 07:40:14 +08:00 加个第三方登录不就好了么 |
23 Junzh 2024-10-09 08:35:14 +08:00 可以参考网易通行证早期的做法:设置一个安全码。 这个安全码是一个完全自定义的数字,由客户自行设置,记得应该是有最小长度的要求。 这个安全码拥有该账户的最高权限,包括充值密码的操作。 当然现在这种安全码可能会被秘钥或者助记词来代替。 |
24 IvanLi127 2024-10-09 08:45:01 +08:00 要么第三方登录,要么注册时留联系方式,忘记密码提工单走人工验证。 |
25 BG7ZAG 2024-10-09 09:17:31 +08:00 直接不用密码,使用 2fa 动态验证码登录,无法丢失无法找回,用户自己保存管理 |
26 dode 2024-10-09 09:36:55 +08:00 绑定开放的登录授权平台 |
27 JustBecause 2024-10-09 09:40:21 +08:00 直接接入第三方登录呢? |
28 flmn 2024-10-09 10:05:59 +08:00 换个好的邮箱服务呗,比如独立开发者最爱的 Resend 。 另外,集成三方登录也是个好办法。 |
29 Oah1zO 2024-10-09 10:59:38 +08:00 加谷歌验证应该是比较好 大众接受度也比较高的方案之一了.. |
30 sampeng 2024-10-09 11:43:54 +08:00 所以我特别讨厌邮箱找回密码的。。 |
31 collection 2024-10-09 11:56:58 +08:00 via Android 可以 mac 地址加盐吗,近期使用过的几台设备存储下来,匹配到就允许修改 |
32 gam2046 2024-10-09 11:58:47 +08:00 用户名 + OTP 的方式呢? 直接摒弃掉密码,而恢复方式依赖于 OTP 的恢复,如果用户自己遗失了 OTP 密钥,也就自然失去了账户的访问权限。 |
33 Vraw5 2024-10-09 12:07:58 +08:00 我记得 QQWX 找回的时候会让你选择自己的好友头像。借这个思路,可以将部分用户的内容作为验证项,两三次 9*9 的验证,通过就当 ok 了 |
34 Yanlongli 2024-10-09 15:20:11 +08:00 比特币钱包登录 |
35 xiaopigfly 2024-10-09 16:11:15 +08:00 直接接入 Google 登录、微信登录等第三方的登录方式最好了 |
  36 myderr 2024-10-09 17:51:25 +08:00 |