rmobis/recaptcha-laravel

此包已被废弃且不再维护。未建议替代包。
此包最新版本(0.1.1)没有可用的许可信息。

一个为Laravel框架提供开箱即用集成的reCAPTCHA库。

0.1.1 2013-07-18 07:03 UTC

This package is not auto-updated.

Last update: 2023-01-07 03:58:16 UTC


README

一个具有开箱即用Laravel集成的reCAPTCHA库。这仅仅是对romainneutron/ReCaptcha的封装,以添加Laravel集成,因此,在Neutron/ReCaptcha\ReCaptcha类中出现的所有方法在这里也都是可用的。

安装

通过Composer安装此包是最佳方式。

composer.json

"require": {
	"rmobis/recaptcha-laravel": "0.1.*"
}

app/config/app.php

// Providers
'Rmobis\Recaptcha\RecaptchaServiceProvider'

...

// Aliases
'Recaptcha' => 'Rmobis\Recaptcha\Facade',

配置

在这里,您将设置您的公共和私钥,以及您的自定义选项。要导出配置文件,执行

php artisan config:publish rmobis/recaptcha-laravel

功能

Laravel语法

这允许您以使用所有Laravel类相同的方式使用Recaptcha类,让您的代码更加出色。例如,如果您要手动检查给定的请求是否被正确生成,这将是这样操作的。

$challenge = Input::get('recaptcha_challenge_field');
$response = Input::get('recaptcha_response_field');

if (Recaptcha::check($challenge, $response)) {
    // reCAPTCHA verified
} else {
    // reCAPTCHA failed
}

验证规则

这为您提供了一个新的验证规则,就像其他规则一样,允许您轻松地使用reCAPTCHA验证所有表单。只需将其添加到您的验证规则数组中,它就会施展魔法。

$validator = Validator::make(array(
	'recaptcha_response_field' => Input::all(),
	// ...
), array(
	'recaptcha_response_field' => 'recaptcha',
	// ...
));

if ($validator->passes()) {
	// reCAPTCHA verified
} else {
	// reCAPTCHA failed
}

表单宏

这为您提供了一种快速输出所有输出reCAPTCHA小部件所需代码的简单方法。可选地,您可以传递一个$options数组,以覆盖和扩展在配置文件中设置的默认选项。

Form::recaptcha(array('theme' => 'clean'))

生成

<script type="text/javascript">
	var RecaptchaOptions = {"theme":"clean"};
</script>

<script type="text/javascript" src="//www.google.com/recaptcha/api/challenge?k=publicKeyHere"></script>

<noscript>
	<iframe src="//www.google.com/recaptcha/api/noscript?k=publicKeyHere" height="300" width="500" frameborder="0"></iframe><br>
	<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
	<input type="hidden" name="recaptcha_response_field" value="manual_challenge">
</noscript>