كيفية إعداد reCAPTCHA v3 في مشروع Laravel خطوة بخطوة
يُعد reCAPTCHA v3 من أفضل الحلول التي توفرها Google لحماية المواقع من الرسائل المزعجة والطلبات الآلية والأنشطة المشبوهة، دون التأثير السلبي على تجربة المستخدم. في هذا الدليل ستتعرف على طريقة دمج reCAPTCHA v3 داخل مشروع Laravel بأسلوب عملي ومنظم، مع توضيح أهم الإعدادات اللازمة لبدء الاستخدام بشكل صحيح.

ما هو reCAPTCHA ولماذا تحتاجه في Laravel؟
reCAPTCHA هي خدمة مجانية من Google تساعد أصحاب المواقع والتطبيقات على التحقق من أن التفاعل يتم بواسطة مستخدم حقيقي، وليس بواسطة روبوتات آلية أو هجمات ضارة. وتبرز أهمية هذه الخدمة خصوصاً في صفحات التسجيل وتسجيل الدخول ونماذج التواصل والتعليقات.
الإصدار reCAPTCHA v3 يختلف عن الإصدارات الأقدم، لأنه لا يعتمد بشكل أساسي على اختبارات مرئية مزعجة للمستخدم. بدلاً من ذلك، يقوم بتحليل سلوك الزائر ويمنح كل طلب Score يساعدك على تقييم احتمالية كونه نشاطاً بشرياً أو آلياً.
أبرز مزايا reCAPTCHA v3
- تحسين تجربة المستخدم دون اختبارات متكررة.
- تقديم درجات تقييم تساعد في اتخاذ قرارات أمنية أدق.
- إتاحة لوحة تحكم وتحليلات لمراقبة نشاط الموقع.
- سهولة دمجه مع مشاريع Laravel باستخدام الحزم الجاهزة.
كيف كان يعمل الإصدار السابق من reCAPTCHA؟
في الإصدارات السابقة، كان المستخدم يُطلب منه غالباً تحديد صور أو تأكيد مربع I’m not a robot. وعلى الرغم من فاعلية هذا الأسلوب، فإنه قد يسبب بعض الإزعاج أو يبطئ عملية إرسال النماذج.

كما أن الواجهة القديمة كانت تعتمد على تحديات مرئية أكثر وضوحاً، وهو ما تغير بشكل كبير مع v3 التي أصبحت أكثر سلاسة وذكاء.

ماذا ستتعلم من هذا الدليل؟
- كيفية دمج reCAPTCHA v3 في مشروع Laravel.
- كيفية إنشاء حساب وإعداد لوحة تحكم Google reCAPTCHA.
- كيفية إضافة المفاتيح داخل ملفات إعدادات المشروع.
- كيفية الاستفادة من التحليلات ودرجات التقييم لتحسين أمان الموقع.
خطوات إعداد reCAPTCHA v3 في مشروع Laravel
1) تثبيت الحزمة المناسبة داخل المشروع
إذا كان مشروع Laravel جاهزاً لديك، يمكنك تثبيت الحزمة المفتوحة المصدر الخاصة بـ reCAPTCHA باستخدام Composer عبر الأمر التالي:
composer require biscolab/laravel-recaptcha
تقوم هذه الحزمة بتسهيل عملية الربط بين مشروعك وخدمة Google، وتوفر ملف إعدادات مرن يمكنك تخصيصه لاحقاً.
2) نشر ملف الإعدادات
بعد تثبيت الحزمة، تحتاج إلى نشر ملف الإعدادات حتى تتمكن من تعديله من داخل المشروع:
php artisan vendor:publish --provider="Biscolab\ReCaptcha\ReCaptchaServiceProvider"
بعد تنفيذ الأمر، سيتم إنشاء ملف إعدادات باسم config/recaptcha.php، وهو الملف الذي ستُضيف أو تُعدّل منه خيارات reCAPTCHA لاحقاً.
3) إنشاء حساب reCAPTCHA من Google
الخطوة التالية هي إنشاء إعدادات موقعك من خلال لوحة إدارة Google reCAPTCHA. من هناك ستحصل على Site Key وSecret Key اللازمين لربط مشروعك بالخدمة.

4) إعداد بيانات الموقع داخل لوحة التحكم
عند تسجيل موقعك في لوحة reCAPTCHA، احرص على تعبئة الحقول بالشكل الصحيح:
- إضافة اسم الموقع في خانة Label مثل localhost أو examplesite.com.
- اختيار v3 كنوع reCAPTCHA.
- إضافة النطاقات المسموح لها باستخدام المفاتيح، مثل localhost أثناء التطوير أو النطاق الفعلي في الإنتاج.
- إدخال بريد المالك في قسم Owners.
- الموافقة على الشروط والأحكام.
من المهم الانتباه إلى أن localhost مناسب فقط لبيئة التطوير المحلي، ويجب استبداله بالنطاق الحقيقي عند نقل المشروع إلى بيئة الإنتاج.
5) حفظ المفاتيح وإضافتها إلى ملف .env
بعد الضغط على زر الإرسال داخل لوحة Google، ستحصل على المفاتيح السرية الخاصة بالموقع. أضفها إلى ملف .env في مشروعك كما يلي:
RECAPTCHA_SITE_KEY=ADD_YOUR_SITE_KEY
RECAPTCHA_SECRET_KEY=ADD_YOUR_SECRET_KEY
RECAPTCHA_SITE=https://www.google.com/recaptcha/admin/
هذه الخطوة ضرورية لأن مشروع Laravel يعتمد على ملف .env لتخزين القيم الحساسة بعيداً عن الكود المباشر، وهو ما يعزز الأمان ويسهّل إدارة البيئات المختلفة.
6) مسح الكاش لتطبيق الإعدادات الجديدة
بعد تعديل ملف .env، من الأفضل مسح الكاش حتى يقرأ Laravel القيم الجديدة بشكل صحيح:
php artisan optimize:clear
إهمال هذه الخطوة قد يؤدي أحياناً إلى بقاء الإعدادات القديمة فعالة، خصوصاً إذا كان المشروع يستخدم التخزين المؤقت للإعدادات.
7) ضبط إصدار reCAPTCHA داخل ملف الإعدادات
انتقل الآن إلى الملف config/recaptcha.php، ثم تأكد من تعيين الإصدار إلى v3:
return [
'version' => 'v3'
];
يجدر التنبيه إلى أن الحقول الخاصة بـ api_site_key وapi_secret_key في الإعدادات ترتبط بالقيم التي وضعتها داخل ملف .env، لذلك يجب التأكد من صحة المفاتيح وعدم وجود أخطاء إملائية أو مسافات إضافية.
متابعة الأداء عبر لوحة التحليلات
بعد إتمام الدمج، يمكنك التوجه إلى صفحة التحليلات في لوحة reCAPTCHA Admin لمتابعة أداء موقعك. ستتمكن من مراجعة درجات التقييم Scores، ومراقبة الأنشطة المشبوهة، وفهم كيفية تفاعل الزوار مع نماذج الموقع.

هذه التحليلات مفيدة جداً عند العمل في بيئة الإنتاج، لأنها تساعدك على اتخاذ قرارات أمنية أفضل، مثل:
- رفض الطلبات ذات الدرجات المنخفضة.
- طلب تحقق إضافي في بعض الحالات الحساسة.
- مراقبة الصفحات أو النماذج الأكثر تعرضاً للنشاط الآلي.
كيف تتأكد من أن reCAPTCHA تم تفعيله بنجاح؟
بعد الانتهاء من الإعدادات، يمكنك اختبار النماذج أو الصفحات التي أضفت إليها reCAPTCHA v3، ثم التحقق من ظهور البيانات داخل لوحة Google، أو مراجعة سلوك التطبيق عند إرسال الطلبات.

نصائح مهمة لتحسين الأمان وتجربة المستخدم
- استخدم reCAPTCHA v3 في النماذج الحساسة مثل التسجيل واستعادة كلمة المرور.
- لا تعتمد على درجة التقييم وحدها، بل اربطها بمنطق أمني مناسب داخل التطبيق.
- اختبر الإعدادات جيداً في localhost قبل النشر على الخادم الفعلي.
- احرص على عدم كشف Secret Key في المستودعات العامة أو داخل الواجهة الأمامية.
- راجع لوحة التحليلات بشكل دوري لاكتشاف أي أنماط هجوم مبكرة.
الخلاصة التقنية
يُعد دمج reCAPTCHA v3 في مشروع Laravel خطوة ذكية لتعزيز الأمان دون التضحية بسهولة الاستخدام. الميزة الأهم في هذا الإصدار أنه يمنحك رؤية تحليلية أعمق بدلاً من الاكتفاء باختبار تقليدي للمستخدم. ومن الناحية التقنية، فإن نجاح التطبيق لا يعتمد فقط على تثبيت الحزمة وإضافة المفاتيح، بل أيضاً على فهم الدرجات الناتجة وتوظيفها ضمن سياسة حماية متوازنة تناسب طبيعة موقعك.