Perl과 함께 reCAPTCHA 사용

중요: reCAPTCHA API 버전 1.0은 더 이상 지원되지 않습니다. 버전 2.0으로 업그레이드하세요. 자세히 알아보기

reCAPTCHA Perl 모듈은 웹사이트에 보안문자를 삽입하여 로봇의 악용을 방지하는 간단한 방법을 제공합니다. 모듈은 reCAPTCHA API를 래핑합니다.

Perl과 함께 reCAPTCHA를 사용하려면 reCAPTCHA Perl 모듈 (앤디 암스트롱 제공)을 다운로드하면 됩니다. 이 모듈을 컴퓨터 (웹 서버)에 설치해야 합니다. 이 모듈은 LWP::UserAgentHTML::Tiny 모듈에 종속되며 둘 다 설치해야 합니다. 다음은 Perl 모듈 설치에 관한 몇 가지 기본적인 안내입니다.

빠른 시작

API 키를 등록하고 reCAPTCHA Perl 모듈을 다운로드한 후 사이트에 reCAPTCHA를 설치하는 방법은 다음과 같습니다.

클라이언트 측 (보안문자 이미지가 표시되도록 하는 방법)

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는 API 키 값으로 바꿔야 합니다.

서버 측 (사용자가 올바른 답변을 입력했는지 테스트하는 방법)

다음은 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";
    }

추가 자료

  • 디자인 맞춤설정
  • 도움말 및 가이드라인
  • 문제 해결