ملاحظة مهمة: لم يعُد الإصدار 1.0 من reCAPTCHA API متاحًا. يُرجى الترقية إلى الإصدار 2.0. مزيد من المعلومات
توفّر مكتبة reCAPTCHA PHP طريقة بسيطة لوضع اختبار CAPTCHA على موقعك الإلكتروني باستخدام لغة PHP، مما يساعدك على منع برامج التتبّع من إساءة استخدامها. تنتهي المكتبة reCAPTCHA API:
لاستخدام reCAPTCHA مع لغة PHP، يمكنك تنزيل لغة reCAPTCHA PHP. المكتبة. ستحتاج إلى ملف واحد فقط (recaptchalib.php). الملفات الأخرى الأمثلة والمحتوى التمهيدي والمواد القانونية -- لا تؤثر على الوظائف.
البدء بسرعة
بعد الاشتراك للحصول على مفاتيح واجهة برمجة التطبيقات، نقدّم في ما يلي تعليمات أساسية حول تثبيت reCAPTCHA على موقعك الإلكتروني. ملف ويمكن العثور على دليل مرجعي لمكوّن PHP الإضافي أدناه.
من جانب العميل (كيفية إظهار صورة اختبار CAPTCHA)
إذا كنت تريد استخدام مكتبة PHP لعرض تطبيق reCAPTCHA المصغّر، يجب إدراج هذا المقتطف من التعليمة البرمجية داخل <form> الذي سيظهر فيه تطبيق reCAPTCHA المصغّر :
require_once('recaptchalib.php'); $publickey = "your_public_key"; // you got this from the signup page echo recaptcha_get_html($publickey);
باستخدام الرمز، قد يبدو النموذج كما يلي:
<html> <body> <!-- the body tag is required or the CAPTCHA may not show on some browsers --> <!-- your HTML content --> <form method="post" action="verify.php"> <?php require_once('recaptchalib.php'); $publickey = "your_public_key"; // you got this from the signup page echo recaptcha_get_html($publickey); ?> <input type="submit" /> </form> <!-- more of your HTML content --> </body> </html>
لا تنسَ ضبط $publickey عن طريق استبدال your_public_key
بـ
المفتاح العام لواجهة برمجة التطبيقات.
لاحظ أن قيمة "الإجراء" السمة هي "verify.php". الآن،verify.php هو الملف الذي يتم إرسال قيم هذا النموذج إليه. لذلك يجب إنشاء ملف تحقق.php في نفس المكان الذي يوجد فيه html الخاص بالعميل.
تتوقع الدالة مطلوبة_once في المثال أعلاه أن يكون sumtchalib.php على النحو نفسه.
الدليل كملف النموذج. إذا كانت في دليل آخر، يجب ربطه بشكل صحيح.
على سبيل المثال، إذا كان reCAPTCHAtchalib.php في الدليل المسمى "captcha" الموجود على نفس
كملف النموذج، ستبدو الدالة على النحو التالي:
require_once('captcha/recaptchalib.php')
من جهة الخادم (كيفية اختبار ما إذا كان المستخدم قد أدخل الإجابة الصحيحة)
يجب وضع التعليمة البرمجية التالية أعلى ملف التحقق من.php:
<?php require_once('recaptchalib.php'); $privatekey = "your_private_key"; $resp = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); if (!$resp->is_valid) { // What happens when the CAPTCHA was entered incorrectly die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." . "(reCAPTCHA said: " . $resp->error . ")"); } else { // Your code here to handle a successful verification } ?>
في الرمز البرمجي أعلاه:
recaptcha_check_answer
كائنًا يوضح ما إذا كان المستخدم
أكمل التحدي بنجاح.$resp->is_valid
صحيحة، يعني ذلك أنّه تم إكمال تحدّي CAPTCHA بشكل صحيح، وعليك مواصلة معالجة النموذج.$resp->is_valid
خاطئة، هذا يعني أن المستخدم لم يقدّم اختبار CAPTCHA الصحيح.
عليك إعادة عرض النموذج للسماح له بمحاولة أخرى. في هذه الحالة
سيكون $resp->error
رمز خطأ يمكن تقديمه إلى recaptcha_get_html
.
يؤدي تمرير رمز الخطأ إلى جعل عنصر تحكّم reCAPTCHA يعرض رسالة توضِّح أنّ المستخدم
أدخل النص بشكل غير صحيح ويجب إعادة المحاولة.يجب ملاحظة أنّ هذا الرمز يطلب إدخال المفتاح الخاص، لذا لا يجب الخلط بينه. باستخدام المفتاح العام. يمكنك الحصول عليه من الصفحة نفسها التي يتوفّر فيها المفتاح العام.
تأكد أيضًا من تعيين النموذج للحصول على متغيرات النموذج باستخدام $_POST، بدلاً من $_REQUEST، وأن النموذج نفسه يستخدم طريقة POST.
هذا كل ما في الأمر! من المفترض أن يعمل reCAPTCHA على موقعك الإلكتروني.
قراءات إضافية
الدليل المرجعي لمكوّن PHP الإضافي
في ما يلي قائمة شاملة بجميع طرق المكوّن الإضافي reCAPTCHA PHP.
دالة sumtcha_get_html
تعرض الدالة recaptcha_get_html
لغة HTML التي تقدّم reCAPTCHA إلى
الـ
المستخدم.
recaptcha_get_html | |
المعلمة | |
$pubkey -- سلسلة. مطلوبة. | مفتاح reCAPTCHA العام الخاص بك من صفحة الاشتراك في واجهة برمجة التطبيقات |
$error -- سلسلة. اختياري (القيمة الفارغة هي القيمة التلقائية) | إذا تم ضبط هذه السلسلة، ستعرض منطقة reCAPTCHA رمز الخطأ. المعطاة. يأتي رمز الخطأ هذا من ReCaptchaResponse->$error |
$use_ssl -- boolean. اختياري (خطأ هو الإعداد التلقائي) | هل يجب استخدام واجهة برمجة التطبيقات المستندة إلى طبقة المقابس الآمنة (SSL)؟ إذا كنت تعرض صفحة إلى مستخدم عبر طبقة المقابس الآمنة، فتأكد من تعيين هذا على "صواب" حتى لا يظهر مربع حوار الخطأ تظهر في متصفح المستخدم. |
القيمة المعروضة | سلسلة تحتوي على HTML لوضعها على صفحة الويب |
دالة sumtcha_check_answer
بعد أن يملأ المستخدم نموذج HTML، بما في ذلك إجابته لاختبار CAPTCHA،
يريدون التحقق من إجابتهم عند إرسال النموذج باستخدام
recaptcha_check_answer
. ستكون إجابة المستخدم في حقلين من حقول النموذج،
"recaptcha_challenge_field
" وrecaptcha_response_field
" تشير رسالة الأشكال البيانية
سترسل مكتبة reCAPTCHA طلب HTTP إلى خادم reCAPTCHA وتتحقق من صحة بيانات
معينة.
recaptcha_check_answer | |
المعلمة | |
$privkey -- السلسلة. مطلوبة. | مفتاح reCAPTCHA الخاص من صفحة الاشتراك في واجهة برمجة التطبيقات. |
$remoteip -- سلسلة. مطلوبة. | عنوان IP للمستخدم بالتنسيق 192.168.0.1 |
$challenge -- سلسلة. مطلوبة. |
قيمة حقل النموذج reCAPTCHA_challenge_field |
$response -- string. مطلوب تحديد خيار | قيمة حقل النموذج reCAPTCHA_response_field |
القيمة المعروضة | مثيل لفئة ReCaptchaResponse |
ReCaptchaResponse | |
الحقل | |
$is_valid -- boolean | هل اعتقدت خدمة reCAPTCHA أن الإجابة كانت صالحة؟ |
$error -- سلسلة | إذا كانت الإجابة غير صالحة، فما المشكلة؟ يمكن أن يكون رمز الخطأ هذا مستخدمة في reCAPTCHA_get_html |
القيمة المعروضة | عنوان URL HTML أو عنوان URL الأولي لفك ترميز عنوان البريد الإلكتروني، بناءً على الوظيفة التي استدعيت. |
إخفاء بريدي
تتضمن مكتبة reCAPTCHA PHP عمليات ربط لواجهة برمجة تطبيقات Mailإخفاء. هذا النمط تتيح لك واجهة برمجة التطبيقات تجميع رسالة إلكترونية في reCAPTCHA لمنع أصحاب الأسلوب غير المرغوب فيه من الاطّلاع عليها: الاختبار...@example.com.
يتطلب جزء Mail إذًا من مكتبة PHP وحدة mcrypt بلغة PHP.
تتألف واجهة برمجة تطبيقات MailHangouts من وظيفتين recaptcha_mailhide_html
recaptcha_mailhide_url
الدوال لها نفس المعلمات. إصدار _html
تعرض HTML
التي يمكن وضعها مباشرةً على صفحة الويب جزء اسم المستخدم الذي تم تمريره في البريد الإلكتروني
ويتم اقتطاعه واستبداله برابط يستدعي Mailإخفاء. يمنحك إصدار _url عنوان URL
فك ترميز الرسالة الإلكترونية وتركها لك لوضع الرسالة الإلكترونية في ملف HTML.
sumtcha_mailhidden_url / Summarytcha_mail الأوّلي_html | |
المعلمة | |
$pubkey -- سلسلة | مفتاح Mailhe العام من صفحة الاشتراك |
$privkey -- السلسلة | مفتاح Mailhe الخاص من صفحة الاشتراك |
$email -- سلسلة | عنوان البريد الإلكتروني الذي تريد إخفاءه. |
يوضح المثال التالي كيفية استخدام Mail إذًا:
<html><body> <? require_once ("recaptchalib.php"); // get a key at http://www.google.com/recaptcha/mailhide/apikey $mailhide_pubkey = ''; $mailhide_privkey = ''; ?> The Mailhide encoding of example@example.com is <? echo recaptcha_mailhide_html ($mailhide_pubkey, $mailhide_privkey, "example@example.com"); ?>. <br> The url for the email is: <? echo recaptcha_mailhide_url ($mailhide_pubkey, $mailhide_privkey, "example@example.com"); ?> <br> </body></html>