استفاده از django-recaptcha در جنگو
- 1403/09/14
پکیج django-recaptcha
reCAPTCHA یک سرویس امنیتی گوگل است که برای تشخیص انسان از ربات در وبسایتها استفاده میشود و به جلوگیری از اسپم و سوءاستفاده کمک میکند.
آموزش نصب و استفاده از پکیج
نصب:
pip install django-recaptcha
پس از نصب پکیج django_recaptcha را به INSTALLED_APPS در پوشه ی setting اضافه کنید
INSTALLED_APPS = [
...,
'django_recaptcha',
...
]
پس از ثبت سایت خود در وبسایت reCAPTCHA - Google دو مقدار SITE KEY و SECRET KEY را دریافت میکنید در فایل settings.py پروژه مقادیر را اضافه کنید
RECAPTCHA_PUBLIC_KEY = 'SITE KEY'
RECAPTCHA_PRIVATE_KEY = 'SECRET KEY'
برای استفاده از recaptcha در فرم مورد نظر خود ابتدا پکیج رو import کنید
برای recaptcha v2
from django_recaptcha.fields import ReCaptchaField,ReCaptchaV2Checkbox
captcha = ReCaptchaField( widget=ReCaptchaV2Checkbox( api_params={ 'hl':'fa' تعیین زبان ریکپچا } ), )
برای recaptcha v3
from django_recaptcha.fields import ReCaptchaField,ReCaptchaV3 captcha = ReCaptchaField( widget=ReCaptchaV3( api_params={ 'hl':'fa' } ), ) سپس در template مرتبط با فرم مقدار {{ form.captcha }} را اضافه کنید
نکته: اگر از تنظیمات CSP استفاده میکنید مطمئن باشید که موارد مرتبط با recaptcha به هدر اضافه شده باشد script-src https://www.google.com https://www.gstatic.com; frame-src https://www.google.com https://www.recaptcha.net; style-src https://www.gstatic.com; این دستورها به مرورگر اجازه میدهند که اسکریپتها، استایلها و فریمهای لازم برای reCAPTCHA را از منابع معتبر گوگل و reCAPTCHA بارگذاری کند.
رایگان ثبت نام کنید و اولین نفری باشید که از پست های جدید مطلع می شوید.