我现在在做一个电商网站项目。
后端使用了,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-07-06 14:53:55 +08:00 1
|
3
zhwithsweet 2019-07-06 15:02:46 +08:00 via iPhone 1
有接口,后端拿到 authcode 去验证一下;还可以使用 accountkit
|
4
Destiny97 2019-07-06 15:07:05 +08:00 via Android
我用过腾讯防水墙,免费的,效果还不错,楼主可以试试
|
5
wongyusing OP 搞定了,
Y 的,搞到我写了那么久。 原来是 443 的原因。 是"墙"的原因导致的错误 |
6
wongyusing OP |
7
wongyusing OP 怎么设置问题已解决啊??
第一次提问。 |
8
xuanbg 2019-07-06 16:33:17 +08:00
防止恶意注册最有效的办法就是用短信验证码验证手机号,一个手机号只能注册一次就完了。
|
9
mmtromsb456 2019-07-06 20:22:23 +08:00 via iPhone
@wongyusing append 附言即可
|
10
Jirajine 2019-07-06 20:36:26 +08:00 via Android
|
11
wongyusing OP @mmtromsb456 多谢。
|
12
wongyusing OP 下面是我解决问题的写法,
主要原因是由于一开始没有设置全局的科学网络导致的 443 错误。 https://github.com/wongjyusing/v2ex/blob/master/test.md 等我完成手头上的两个项目后。 会将整个过程写成博文放到我的博客上。 |