etesync / server

The Etebase server (so you can run your own)
https://www.etesync.com
GNU Affero General Public License v3.0
1.54k stars 75 forks source link

Feature Request: Human verification during signup/login (captchas) #108

Open mrrfv opened 2 years ago

mrrfv commented 2 years ago

Would it be possible to add some kind of bot detection before allowing users to register (hCaptcha)? This project has a lot of potential, and I'd like to use it in my app, but I expect it to be attacked quite frequently.

Thanks.

tasn commented 2 years ago

We would be happy to merge such a patch, it's a great idea! Have you implemented a captcha provider integration before and know how to do it?

mrrfv commented 2 years ago

I've implemented hCaptcha in PHP and Node.js web applications. Unfortunately, I'm not familiar with Django, but I'll try to write a PR regardless.

Flow chart (made in MS Paint, sry): image

Client-side logic should be left for the developer to implement, and all the Etebase server has to do is verify the token on the server side. Support for other captcha providers such as reCAPTCHA should be trivial, as hCaptcha is fully API compatible with reCAPTCHA.