استفاده از 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 بارگذاری کند.

عضویت در خبرنامه

رایگان ثبت نام کنید و اولین نفری باشید که از پست های جدید مطلع می شوید.