Django-allauth와 hCaptcha 통합
누군가가 봇을 사용하여 시스템을 악용하고 임의의 사람들에게 자동 가입/암호 재설정을 보내는 경우 문제가 발생할 수 있습니다. 따라서 hCaptcha는 봇을 피하는 정말 좋은 방법입니다.
hCaptcha 계정 설정
hCaptcha 설치
우리는 pypi에서 django-hCaptcha 패키지를 사용할 것입니다.
pip install django-hCaptcha
# project/settings.py
INSTALLED_APPS = [
...
'hcaptcha',
]
# project/settings.py
...
HCAPTCHA_SITEKEY = '<your sitekey>'
HCAPTCHA_SECRET = '<your secret key>'
...
양식에 hCaptcha 추가
나는 같은 이유로 geeksforgeeks의 이 기사를 참조했습니다.
https://www.geeksforgeeks.org/python-extending-and-customizing-django-allauth/
# app/forms.py
from allauth.account.forms import SignupForm, ResetPasswordForm
from hcaptcha.fields import hCaptchaField
class CustomSignupForm(SignupForm):
hcaptcha = hCaptchaField(theme='dark')
# if the order of fields isn't as you expected ,then you can use field_order
#field_order = ['username', 'email', 'password1', 'password2', 'hcaptcha']
#customize this according to your form
class CustomForgetPassword(ResetPasswordForm):
hcaptcha = hCaptchaField(theme='dark')
# project/settings.py
...
ACCOUNT_FORMS = {
'signup': '<app>.forms.MyCustomSignupForm',
'reset_password': '<app>.forms.CustomForgetPassword',}
...
모두 완료 🎉
축하해요
Reference
이 문제에 관하여(Django-allauth와 hCaptcha 통합), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dilutewater/integrating-hcaptcha-with-django-allauth-24lo텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)