استخدام reCAPTCHA مع لغة Perl
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
ملاحظة مهمة: لم يعُد الإصدار 1.0 من reCAPTCHA API متاحًا. يُرجى الترقية إلى الإصدار 2.0. مزيد من المعلومات
توفّر وحدة reCAPTCHA Perl طريقة بسيطة لإجراء اختبار CAPTCHA
على موقعك الإلكتروني، ما يساعدك في منع برامج التتبّع من إساءة استخدامها. تضم الوحدة
reCAPTCHA API:
لاستخدام reCAPTCHA مع لغة Perl، يمكنك تنزيل reCAPTCHA Perl.
الوحدة (يساهم بها "آندي أرمسترونغ"). ستحتاج إلى تثبيت هذه الوحدة على
الجهاز (خادم الويب). تعتمد الوحدة على الوحدات LWP::UserAgent.
وHTML::Tiny، كلاهما
والذي يجب تثبيته أيضًا. فيما يلي بعض التعليمات الأساسية حول تثبيت Perl
الوحدات.
البدء بسرعة
بعد الاشتراك في مفاتيح واجهة برمجة التطبيقات وتنزيل وحدة reCAPTCHA Perl، إليك التعليمات الأساسية لتنفيذ ما يلي:
تثبيت reCAPTCHA على موقعك الإلكتروني
من جانب العميل (كيفية إظهار صورة اختبار CAPTCHA)
إذا كنت تريد استخدام وحدة Perl لعرض التطبيق المصغّر reCAPTCHA، يجب إدراج
هذا السطر بالقرب من أعلى الملف الذي يحتوي على عنصر النموذج حيث سيتم عرض تطبيق reCAPTCHA المصغّر
المعروضة:
use Captcha::reCAPTCHA;
بعد ذلك، ستحتاج إلى إنشاء مثيل من reCAPTCHA:
my $c = Captcha::reCAPTCHA->new;
أخيرًا، لعرض أداة reCAPTCHA، يجب وضع السطر التالي داخل
<form> العلامة:
print $c->get_html("your_public_key");
لذلك، قد تبدو التعليمة البرمجية على النحو التالي:
use Captcha::reCAPTCHA;
my $c = Captcha::reCAPTCHA->new;
print <<EOT;
<html>
<body>
<form action="" method="post">
EOT
print $c->get_html("your_public_key");
print <<EOT;
<input type="submit" value="submit" />
</form>
</body>
</html>
EOT
لا تنسَ استبدال your_public_key
بقيمة
مفتاح واجهة برمجة التطبيقات.
من جهة الخادم (كيفية اختبار ما إذا كان المستخدم قد أدخل الإجابة الصحيحة)
في ما يلي بنية أساسية لكيفية التحقّق من إجابة reCAPTCHA:
use Captcha::reCAPTCHA;
my $c = Captcha::reCAPTCHA->new;
my $challenge = param 'recaptcha_challenge_field';
my $response = param 'recaptcha_response_field';
# Verify submission
my $result = $c->check_answer(
"your_private_key", $ENV{'REMOTE_ADDR'},
$challenge, $response
);
if ( $result->{is_valid} ) {
print "Yes!";
}
else {
# Error
print "No";
}
قراءات إضافية
تخصيص الشكل والأسلوب
نصائح وإرشادات
تحديد المشاكل وحلّها
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2024-09-09 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2024-09-09 (حسب التوقيت العالمي المتفَّق عليه)"],[[["reCAPTCHA v1.0 is no longer supported; users should upgrade to v2.0."],["The reCAPTCHA Perl Module helps prevent bot abuse on websites by incorporating CAPTCHAs."],["This module requires installation along with the LWP::UserAgent and HTML::Tiny modules."],["Implementation involves client-side code to display the reCAPTCHA widget and server-side code to verify user responses."],["Detailed instructions and further resources are available for customization, tips, and troubleshooting."]]],["The reCAPTCHA Perl module enables website integration of CAPTCHAs to prevent bot abuse. It requires downloading and installing the module, along with `LWP::UserAgent` and `HTML::Tiny`. To display the CAPTCHA, use `use Captcha::reCAPTCHA`, create a reCAPTCHA instance, and use the `get_html` method with your public key. Server-side validation involves using `check_answer` with your private key, user IP address, challenge, and response, then checking the validity of the response.\n"]]