nieTonfir/google-recaptcha

一个用于简化Google 'No CAPTCHA reCAPTCHA'服务器端验证的库

v0.2.1 2017-04-19 00:30 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:26:35 UTC


README

ReCAPTCHA 是一个免费的CAPTCHA服务,用于保护网站免受垃圾邮件和滥用。这个库旨在提供一个替代方案,用于验证用户的 "No CAPTCHA reCAPTCHA" 响应。内部使用 Guzzle 与ReCAPTCHA API通信。

Build Status Latest Stable Version Latest Unstable Version License

安装

推荐通过 Composer 安装GoogleReCaptcha。

# Install Composer
curl -sS https://getcomposer.org/installer | php

然后,运行Composer命令以安装GoogleReCaptcha的最新稳定版本

composer require "nietonfir/google-recaptcha"

或在您的 composer.json 中添加GoogleReCaptcha

"require": {
    "nietonfir/google-recaptcha": "~0.0"
}

并告诉Composer安装库

composer update "nietonfir/google-recaptcha"

安装后,您需要引入Composer的自动加载器

require 'vendor/autoload.php';

使用方法

一个示例验证客户端可能如下所示

use GuzzleHttp\Client;
use Nietonfir\Google\ReCaptcha\ReCaptcha;
use Nietonfir\Google\ReCaptcha\Api\RequestData,
    Nietonfir\Google\ReCaptcha\Api\ResponseFactory;

$requestData = new RequestData(
    'YOUR_API_SECRET_HERE',         // secret
    $_POST['g-recaptcha-response'], // user response
    $_SERVER['REMOTE_ADDR']         // end user IP
);

$reCaptcha = new ReCaptcha(new Client(), new ResponseFactory());
$response = $reCaptcha->processRequest($requestData);

if ($response->isValid()) {
    // check the hostname if "Domain Name Validation" is turned off
    // if($_SERVER['SERVER_NAME'] === $response->getHostName()) { … }
    echo 'I\'m not a robot';
} else {
    var_dump($response->getErrors());
}