andreibu / laravel_captcha
CAPTCHA For Laravel.
Installs: 112
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:package
pkg:composer/andreibu/laravel_captcha
Requires
- php: >=5.3.23
README
Installation
composer require andreibu/laravel_captcha
Laravel 5
Setup
Add ServiceProvider to the providers array in config/app.php.
'providers' => [
...
AndreiBu\laravel_captcha\CaptchaServiceProvider::class,
],
'aliases' => [
...
'Captcha' => AndreiBu\laravel_captcha\Facades\Captcha::class,
],
Add Route to reload captcha routes/web.php.
Route::get('/captcha/{key?}', function($key='') {
$json=array('img'=>Captcha::img($key),'key'=>Captcha::md5());
return json_encode($json);
});
Configuration
you must copy in /public/fonts/ ttf font and specify its path in the configuration CAPTCHA_FONT
(optional) Add key in .env file (without brackets):
CAPTCHA_MIN=[0-999 999 999] CAPTCHA_MAX=[0-999 999 999] CAPTCHA_WIDTH=[0-1000] CAPTCHA_HEIGHT=[0-1000] CAPTCHA_TIME=[60-3600] CAPTCHA_GARBAGE=[0-100] CAPTCHA_REDRAW=[1-10] CAPTCHA_FONT='/fonts/times.ttf'
Usage
create CAPTCHA cod
{!! Captcha::create_cod(); !!}
or
{!! app('captcha')->create_cod(); !!}
display CAPTCHA
{!! Captcha::create_cod(); !!}
<input name="captcha_md5" type="hidden" value="{!! Captcha::md5(); !!}">
<input name="captcha_cod" type="text" value="">
{!! Captcha::img(); !!}
display CAPTCHA + reload
<div class="pwd_reset_captcha">
@if ($errors->has('captcha_cod'))
<span class="help-block">
<strong>{{ $errors->first('captcha_cod') }}</strong>
</span>
@endif
{!! Captcha::create_cod(); !!}
<input name="captcha_md5" type="hidden" value="{!! Captcha::md5(); !!}">
<input name="captcha_cod" type="text" value="">
{!! Captcha::img(); !!}
<a href="#" onclick="captcha_redraw()">reload</a>
<script>
function captcha_redraw(key){
var key=$('.pwd_reset_captcha input[name=captcha_md5]').val();
$.get('/captcha/'+key,'', function (data){
try{
var json=JSON.parse(data);
$('.pwd_reset_captcha img.captcha').replaceWith(json.img);
if(json.key!=''){$('.pwd_reset_captcha input[name=captcha_md5]').val(json.key);}
}
catch(e){console.log(e);}
});
}
</script>
</div>
Validation
Add 'captcha_cod' => 'required|captcha' to rules array.
$validate = Validator::make(Input::all(), [ 'captcha_cod' => 'required|captcha' ]);