Perl के साथ reCAPTCHA का इस्तेमाल करना

अहम जानकारी: reCAPTCHA API का वर्शन 1.0 अब काम नहीं करता. कृपया वर्शन 2.0 पर अपग्रेड करें. ज़्यादा जानें

reCAPTCHA Perl मॉड्यूल की मदद से, कैप्चा डालने की प्रोसेस आसान हो जाती है जिससे आपको बॉट का गलत इस्तेमाल करने से रोका जा सकता है. मॉड्यूल में reCAPTCHA API.

Perl के साथ reCAPTCHA का इस्तेमाल करने के लिए, re कैप्चा Perl डाउनलोड किया जा सकता है मॉड्यूल (एंडी आर्मस्ट्रॉन्ग ने योगदान दिया). आपको यह मॉड्यूल अपने मशीन (वेब सर्वर). यह मॉड्यूल, मॉड्यूल पर निर्भर करता है LWP::UserAgent और HTML::Tiny, दोनों इसे इंस्टॉल करना भी ज़रूरी होता है. यहां Perl इंस्टॉल करने के कुछ बुनियादी निर्देश दिए गए हैं मॉड्यूल का इस्तेमाल करें.

क्विक स्टार्ट

एपीआई पासकोड के लिए साइन अप करने और reCAPTCHA Perl मॉड्यूल डाउनलोड करने के बाद, यहां कुछ बुनियादी निर्देश दिए गए हैं आपकी साइट पर reCAPTCHA इंस्टॉल किया जा रहा है.

क्लाइंट साइड (कैप्चा इमेज दिखाने का तरीका)

अगर आपको reCAPTCHA विजेट दिखाने के लिए Perl मॉड्यूल का इस्तेमाल करना है, तो आपको यह डालना होगा फ़ाइल के सबसे ऊपरी हिस्से के पास मौजूद यह लाइन, फ़ॉर्म एलिमेंट के साथ होगी, जहां 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";
    }

इसके बारे में और पढ़ें

  • रंग-रूप को पसंद के मुताबिक बनाना
  • सलाह और दिशा-निर्देश
  • समस्या हल करने से जुड़ी जानकारी