> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# reCAPTCHA

> كيف تحمي تسجيل الدخول والتسجيل وإعادة تعيين كلمة المرور باستخدام Google reCAPTCHA؟

> [!NOTE]
>
> طُوّرت هذه الميزة بواسطة [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro) وهي متاحة بدءًا من الإصدار v6.4.0.

يمكن لتسجيل الدخول بالبريد الإلكتروني وكلمة المرور، وتسجيل الدخول عبر LDAP، والتسجيل، وإعادة تعيين كلمة المرور أن تطلب اجتياز Google reCAPTCHA v2 (غير المرئي). وهذه الميزة معطّلة افتراضيًا. لا يرى معظم المستخدمين أي شيء: إذ يُجرى التحقق عند ضغطهم على الزر، ولا تعرض Google تحدّيًا بالصور إلا عندما تجد الطلب مريبًا. لا تتأثر عمليات تسجيل الدخول عبر SAML وOIDC ولا الحسابات التي ينشئها المسؤول.

1. في [وحدة تحكم مسؤول reCAPTCHA](https://www.google.com/recaptcha/admin)، أنشئ مفتاحًا من النوع **reCAPTCHA v2**، **Invisible reCAPTCHA badge**، وأضف نطاق المثيل الخاص بك. يشمل النطاق أيضًا نطاقاته الفرعية، فمثلًا يشمل `example.com` النطاق `latex.example.com`.
2. اضبط المفتاحين في `config/variables.env` وشغّل `bin/up`:

```text theme={null}
RECAPTCHA_SITE_KEY=<site key>
RECAPTCHA_SECRET_KEY=<secret key>
```

| المتغير | القيمة الافتراضية | الغرض |
| - | - | - |
| `RECAPTCHA_SITE_KEY` | غير مضبوط | يفعّل اختبار captcha لتسجيل الدخول، وتسجيل الدخول عبر LDAP، والتسجيل، وإعادة تعيين كلمة المرور. |
| `RECAPTCHA_SECRET_KEY` | غير مضبوط | المفتاح السري لمفتاح reCAPTCHA نفسه، ويستخدمه الخادم للتحقق من الإجابات. |
| `RECAPTCHA_ENDPOINT` | `https://www.google.com/recaptcha/api/siteverify` | المكان الذي يتحقق فيه الخادم من الإجابات. حيث يتعذر الوصول إلى `www.google.com`، استخدم `https://www.recaptcha.net/recaptcha/api/siteverify`. |
| `CAPTCHA_TRUSTED_USERS` | غير مضبوط | عناوين بريد إلكتروني مفصولة بفواصل يسمح لها الخادم بالمرور دون التحقق من captcha. |
| `CAPTCHA_TRUSTED_USERS_REGEX` | غير مضبوط | تعبير نمطي لمثل هذه العناوين؛ ويجب أن يطابق عنوان البريد الإلكتروني كاملًا. |
| `DEVICE_HISTORY_SECRET` | غير مضبوط | 64 حرفًا ست عشريًا، على سبيل المثال من `openssl rand -hex 32`. يتيح للمتصفح الذي سجّل الدخول ببريد إلكتروني تخطي captcha لذلك البريد لمدة 90 يومًا. إذا لم يُضبط، يُطلب captcha عند كل تسجيل دخول. |

* تحمّل الصفحات سكربت reCAPTCHA من `www.recaptcha.net`، الذي يعمل أيضًا حيث يكون `www.google.com` محجوبًا.
* يطلب التسجيل وإعادة تعيين كلمة المرور الاختبار في كل مرة. ويطلبه تسجيل الدخول عبر LDAP أيضًا في كل مرة، حتى مع `DEVICE_HISTORY_SECRET`: لأنه يرسل اسم مستخدم، لا بريدًا إلكترونيًا.
* تظل عمليات تسجيل الدخول محدودة المعدل أيضًا: 20 محاولة في الدقيقة لكل عنوان IP و10 محاولات كل دقيقتين لكل بريد إلكتروني.
* لا يتحقق Ayakaleaf Pro إلا مما إذا كانت Google تقبل الإجابة. لا تُدعَم درجات reCAPTCHA v3 وعتباتها، وGoogle هي التي تقرر متى تعرض تحدّيًا.
* لتجربتها قبل أن يكون لديك مفتاح، استخدم [مفاتيح الاختبار](https://developers.google.com/recaptcha/docs/faq) من Google: إذ ينجح كل تحقق وتعرض الأداة تحذيرًا، لذا لا تستخدمها في بيئة الإنتاج.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.