
我现在在做一个电商网站项目。
后端使用了,django-rest-framework 作为 api。 前端使用 angular-cli
在关于注册这里遇到了一个问题。
为了防止机器人恶意注册,我想调用验证码来防止机器人。
前端中 angular-cli 接入了谷歌的 recaptcha。已经实现了。
但是,后端该怎么实现呢?? 我阅读了阅读了谷歌的 recaptcha 的文档还是没有找到方法。
1 wongyusing OP 我这里用的是 recaptcha V2 中的隐藏徽章类型。 前端验证完成后,生成一段秘文 response。 然后会连同 username,passwork、email 和 response 一起作为验证。 现在问题主要是后端的该怎么处理。 其实,撇开这个 recaptcha,我还有两种思路去处理这个**注册验证码问题** ## 自行生成验证码 新建一个 captcha 表, 里面给五个字段 分别为:索引 ID、验证码答案、验证码图片地址、秘文 ,创建时间 利用 python 验证码包生成一堆验证码图片,并存入数据库。 用户访问时随机抽取一张验证码图片进行验证等操作。 通过秘文来索引确认用户的验证是否正确。 但是,这个思路缺陷很明显,我用之前练习**识别验证码的小 demo**都可以识别出这个验证码。 所以,放弃。 ## 通过邮箱发送验证码进行验证 这个还是很好做的。 不过用户体验很不好。 |
2 binux 2019 年 7 月 6 日 |
3 zhwithsweet 2019 年 7 月 6 日 via iPhone 有接口,后端拿到 authcode 去验证一下;还可以使用 accountkit |
4 Destiny97 2019 年 7 月 6 日 via Android 我用过腾讯防水墙,免费的,效果还不错,楼主可以试试 |
5 wongyusing OP 搞定了, Y 的,搞到我写了那么久。 原来是 443 的原因。 是"墙"的原因导致的错误 |
6 wongyusing OP |
7 wongyusing OP 怎么设置问题已解决啊?? 第一次提问。 |
8 xuanbg 2019 年 7 月 6 日 防止恶意注册最有效的办法就是用短信验证码验证手机号,一个手机号只能注册一次就完了。 |
9 mmtromsb456 2019 年 7 月 6 日 via iPhone @wongyusing append 附言即可 |
10 Jirajine 2019 年 7 月 6 日 via Android |
11 wongyusing OP @mmtromsb456 多谢。 |
12 wongyusing OP 下面是我解决问题的写法, 主要原因是由于一开始没有设置全局的科学网络导致的 443 错误。 https://github.com/wongjyusing/v2ex/blob/master/test.md 等我完成手头上的两个项目后。 会将整个过程写成博文放到我的博客上。 |