Code Monkey home page Code Monkey logo

no-captcha's Introduction

No CAPTCHA reCAPTCHA

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

recaptcha_anchor 2x

For Laravel 4 use v1 branch.

Installation

composer require anhskohbo/no-captcha

Laravel 5 and above

Setup

NOTE This package supports the auto-discovery feature of Laravel 5.5 and above, So skip these Setup instructions if you're using Laravel 5.5 and above.

In app/config/app.php add the following :

1- The ServiceProvider to the providers array :

Anhskohbo\NoCaptcha\NoCaptchaServiceProvider::class,

2- The class alias to the aliases array :

'NoCaptcha' => Anhskohbo\NoCaptcha\Facades\NoCaptcha::class,

3- Publish the config file

php artisan vendor:publish --provider="Anhskohbo\NoCaptcha\NoCaptchaServiceProvider"

Configuration

Add NOCAPTCHA_SECRET and NOCAPTCHA_SITEKEY in .env file :

NOCAPTCHA_SECRET=secret-key
NOCAPTCHA_SITEKEY=site-key

(You can obtain them from here)

Usage

Init js source

With default options :

 {!! NoCaptcha::renderJs() !!}

With language support or onloadCallback option :

 {!! NoCaptcha::renderJs('fr', true, 'recaptchaCallback') !!}

Display reCAPTCHA

Default widget :

{!! NoCaptcha::display() !!}

With custom attributes (theme, size, callback ...) :

{!! NoCaptcha::display(['data-theme' => 'dark']) !!}

Invisible reCAPTCHA using a submit button:

{!! NoCaptcha::displaySubmit('my-form-id', 'submit now!', ['data-theme' => 'dark']) !!}

Notice that the id of the form is required in this method to let the autogenerated callback submit the form on a successful captcha verification.

Validation

Add 'g-recaptcha-response' => 'required|captcha' to rules array :

$validate = Validator::make(Input::all(), [
	'g-recaptcha-response' => 'required|captcha'
]);
Custom Validation Message

Add the following values to the custom array in the validation language file :

'custom' => [
    'g-recaptcha-response' => [
        'required' => 'Please verify that you are not a robot.',
        'captcha' => 'Captcha error! try again later or contact site admin.',
    ],
],

Then check for captcha errors in the Form :

@if ($errors->has('g-recaptcha-response'))
    <span class="help-block">
        <strong>{{ $errors->first('g-recaptcha-response') }}</strong>
    </span>
@endif

Testing

When using the Laravel Testing functionality, you will need to mock out the response for the captcha form element.

So for any form tests involving the captcha, you can do this by mocking the facade behavior:

// prevent validation error on captcha
NoCaptcha::shouldReceive('verifyResponse')
    ->once()
    ->andReturn(true);

// provide hidden input for your 'required' validation
NoCaptcha::shouldReceive('display')
    ->zeroOrMoreTimes()
    ->andReturn('<input type="hidden" name="g-recaptcha-response" value="1" />');

You can then test the remainder of your form as normal.

When using HTTP tests you can add the g-recaptcha-response to the request body for the 'required' validation:

// prevent validation error on captcha
NoCaptcha::shouldReceive('verifyResponse')
    ->once()
    ->andReturn(true);

// POST request, with request body including g-recaptcha-response
$response = $this->json('POST', '/register', [
    'g-recaptcha-response' => '1',
    'name' => 'John',
    'email' => '[email protected]',
    'password' => '123456',
    'password_confirmation' => '123456',
]);

Without Laravel

Checkout example below:

<?php

require_once "vendor/autoload.php";

$secret  = 'CAPTCHA-SECRET';
$sitekey = 'CAPTCHA-SITEKEY';
$captcha = new \Anhskohbo\NoCaptcha\NoCaptcha($secret, $sitekey);

if (! empty($_POST)) {
    var_dump($captcha->verifyResponse($_POST['g-recaptcha-response']));
    exit();
}

?>

<form action="?" method="POST">
    <?php echo $captcha->display(); ?>
    <button type="submit">Submit</button>
</form>

<?php echo $captcha->renderJs(); ?>

Contribute

https://github.com/anhskohbo/no-captcha/pulls

no-captcha's People

Contributors

abhimanyu003 avatar absemetov avatar akiyamasm avatar anhskohbo avatar dann95 avatar diadal avatar dosarkz avatar fazed avatar gregorvoelkl avatar haakym avatar ikidnapmyself avatar it-can avatar jasonmortonnz avatar juukie avatar kcincode avatar killme56k avatar laravel-shift avatar lloricode avatar m1guelpf avatar marivaldojr avatar martin-heralecky avatar mmghv avatar perkola avatar pixellup avatar reliq avatar seltix5 avatar sloveniangooner avatar splateric avatar stichoza avatar tboztuna avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

no-captcha's Issues

Register not working

After I fill up all the forms and the captcha in my registration. It does not register. and just go back to the same page.

this is the code for my auth controller
image

this is my view
image

Can anyone help me fix this? Thanks

Captcha not visible on mobile phones.

Captcha is working great on desktop but it is not visible on mobile phones. My code is:

 <div class="row">
       <div class="col-md-6 col-md-offset-3 col-sm-6 col-sm-offset-3 col-xs-12 text-center">
                     {!! app('captcha')->display(); !!}
                     @if ($errors->has('g-recaptcha-response'))
                                      <span class="help-block">
                                        <strong>Captcha can not be empty.</strong>
                                    </span>
                     @endif
               </div>
 </div>

Why captcha does not exist ?

ErrorException in Container.php line 734:
Class captcha does not exist (View: /var/www/html/larapus/resources/views/auth/register.blade.php)

Composer error trying to "publish:config" in L5

Hi, i'm trying to install the package in my Laravel 5 app. I added the line to composer.json, made a composer update, added the service provider and I get this error when I try to run the php artisan publish:config command:

C:\Users\David\www\project>php artisan publish:config anhskohbo/no-captcha
exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Call to undefined method Illuminate\Config\Repository::package()' in C:\Users\David\www\project\vendor\anhskohbo\no-captcha\src\NoCaptchaServiceProvider.php:23
Stack trace:
#0 C:\Users\David\www\project\vendor\laravel\framework\src\Illuminate\Foundation\Bootstrap\HandleExceptions.php(115): Illuminate\Foundation\Bootstrap\HandleExceptions->fatalExceptionFromError(Array)
#1 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleShutdown()
#2 {main}

Don't know if I'm doing something bad.

I also tried with commands like composer self-update and composer clear-compiled and nothing.

Captcha Work in Login Page, But Not on Registration Page...

Its Odd, Captcha Works Perfectly on Login...
But on Registration which is Needed Most it Fails...

I got LoginRequest and SignUpRequest
both containing the rules and message for g-recaptcha-response

in my view , i use both this code

{!! app('captcha')->display() !!}
Illuminate\Support\ViewErrorBag {
  #bags: array:1 [
    "default" => Illuminate\Support\MessageBag {
      #messages: array:1 [
        "g-recaptcha-response" => array:1 [
          0 => "Captcha Verification Failed!"
        ]
      ]
      #format: ":message"
    }
  ]
}

This has really something to do with the captha property in Validator class....
Can someone help me fix this?

So i can use it on multiple pages?

Call to a member function display() on a non-object

Hello,
I have added plugin, and while rendering the captcha it is giving me following error:

Call to a member function display() on a non-object

I am using Laravel teeplus theme plugin for displaying front end of my webapplication.

[Feature] Add check for Domain Name Validation

ReCaptcha has a new feature (replacing the old "Secure Token" feature) called Domain Name Validation. The way it works is that reCaptcha sends you the domain name on which the captcha was filled out when it tells you whether the captcha was filled successfully or not. The idea is that you can check to make sure that the domain it was filled out on is one that you have allowed.

This is very handy for those of us who use reCaptcha on a large number of domains (or with a list of domains that changes often) and have turned off the built-in Domain Name Validation in the reCaptcha admin console.

If you are interested in accepting a Pull Request for this feature, I would be happy to provide one, but I want to see whether you are interested before I do the work.

Thanks!

captcha option help

thank u sir

i'm using laravel and i dont know exactly how to change the theme of captcha ?

ajax submit

And how with ajax it all to use? Writes that reCaptcha ID empty.
I need to add ajax to submit

Method captcha does not exist

Hi,

I've done these steps in my Laravel 4 application ...

  1. added "anhskohbo/no-captcha": "1.*" to composer.json then ran composer update.

  2. added 'Anhskohbo\NoCaptcha\NoCaptchaServiceProvider', to app/config/app.php

  3. run and configured php artisan config:publish anhskohbo/no-captcha

  4. run php artisan dump-autoload.

  5. added {{ Form::captcha() }} to the form in my view.

When I visit the page I get ErrorException: Method captcha does not exist.

Am I missing a step?

Any advice is appreciated.

Validation failing in Laravel - Fix

Was still getting a persistent failure for the validation on my local WAMP stack. It's an issue with WAMP's PHP (maybe the most recent version) not including a un-to-date CD certificates.

Download the cacert.pem file from http://curl.haxx.se/docs/caextract.html.

Update PHP ini:
curl.cainfo = "C:\path\to\cacert.pem"

Worked perfectly for me.

Although I wouldn't advise people to do so, for testing purposes perhaps include a bool to switch SSL checking on/off.

Cheers for the project! Very helpful.

Validation does not work with laravel 4.2

In laravel 4.2 the double rule required|captcha only funcion with required. captcha always return false although the green tic and everything seem to be perfect. googje for that rule always return false. I spend a lot of time without any answer.

Google's "NoCaptcha Recaptcha" is slave labor.

Google's "NoCaptcha ReCaptcha" product is slave labor. It is illegal, and it needs to be stopped.

Google is using this system to force millions of Americans and foreigners to "tag" their massive database of photographs without any form of compensation. This has been going on for years and it needs to stop.

The system presents a user with a series of photographs and asks the user to identify which photographs contain specific key elements such as cars, street signs, store fronts, and so on. If the user doesn't cooperate they cannot continue their internet activity. This is a clear violation of both the spirit and letter of United States labor laws.

Here is a link to my personal blog post on the issue:
https://tailpuff.net/googles-nocaptcha-recaptcha-is-slave-labor/

You should not be promoting or supporting "NoCaptcha ReCaptcha" in any way.

Multiple rendering of no-captcha in the same page

Hello, I need to show multiple captcha on the same page (I have two different forms, a subscription and an unsubscription and they must stay on the same page), but just the first one is shown.

How can I explicitly render the second captcha?

I use Laravel 4.2.
Thank you very much.

How do I test this locally with an automated test?

Is there a way to test this locally via acceptance tests? With a standard captcha I might be able to have a specific passcode in local that will by pass the actual captcha check but can be used as an assertion that the captcha field is visible on the page, thus testing the 3rd party integration locally. Is there any kind of mechanism for building an acceptance test to ensure this works as I'd expect?

Not working with https?

On localhost the package works very well, but the same code on a https site always says captcha has error. Keys are double checked!
Any idea ?

Failing after non-blocking added?

I had a working registration form as of 4pm yesterday GMT.

From what i can gather, since adding the non-blocking code, the captcha still verifies but form validation in laravel is failing every time?

validation not working

my no-captcha validation is not working, i can signin without clicking on captcha

this is my validation code

public function validator(array $data) {
    return Validator::make($data, [
        'username' => 'required|max:255|unique:users',
        'email' => 'required|max:255|unique:users',
        'g-recaptcha-response' => 'required|captcha',
        'password' => 'required|confirmed|min:6',
    ]);
}

username, email, password are working, what am i doing wrong ?

Validation always NOT CORRECT

I followed the installation and set up, but when I tried to do it correctly (Check the "Im not a robot"), it always says, The g-recaptcha-response field is required. What happened to that?

Need Help guys. btw Im using Laravel 5.1

Heres my code

Form:

<div class="form-group{{ $errors->has('g-recaptcha-response') ? ' has-error' : '' }}">
	{!! app('captcha')->display() !!}

	@if($errors->has('g-recaptcha-response'))
		<span class="help-block">
			{{ $errors->first('g-recaptcha-response') }}
		</span>
	@endif
</div>

===================================================================

Validation

'g-recaptcha-response' => 'required|captcha'

file_get_contents(https://www.google.com/recaptcha/api/siteverify): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden

Since several days I'm getting this error with my Laravel 5.1 project:

[2017-05-05 12:18:04] local.ERROR: exception 'ErrorException' with message 'file_get_contents(https://www.google.com/recaptcha/api/siteverify): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
' in /var/www/vendor/anhskohbo/no-captcha/src/NoCaptcha.php:125
Stack trace:
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'file_get_conten...', '/var/www/vendor...', 125, Array)
#1 /var/www/vendor/anhskohbo/no-captcha/src/NoCaptcha.php(125): file_get_contents('https://www.goo...', false, Resource id #9)
#2 /var/www/vendor/anhskohbo/no-captcha/src/NoCaptcha.php(73): Anhskohbo\NoCaptcha\NoCaptcha->sendRequestVerify(Array)
#3 /var/www/vendor/anhskohbo/no-captcha/src/NoCaptchaServiceProvider.php(26): Anhskohbo\NoCaptcha\NoCaptcha->verifyResponse('xxxxxxxxxxxxxx...', 'xxxxxxxxxxx')
#4 [internal function]: Anhskohbo\NoCaptcha\NoCaptchaServiceProvider->Anhskohbo\NoCaptcha{closure}('g-recaptcha-res...', 'xxxxxxxxxxxxxxxxxxxx...', Array, Object(Illuminate\Validation\Validator))
#5 /var/www/vendor/laravel/framework/src/Illuminate/Validation/Validator.php(2604): call_user_func_array(Object(Closure), Array)
#6 /var/www/vendor/laravel/framework/src/Illuminate/Validation/Validator.php(2691): Illuminate\Validation\Validator->callExtension('captcha', Array)
#7 /var/www/vendor/laravel/framework/src/Illuminate/Validation/Validator.php(363): Illuminate\Validation\Validator->__call('validateCaptcha', Array)
#8 /var/www/vendor/laravel/framework/src/Illuminate/Validation/Validator.php(363): Illuminate\Validation\Validator->validateCaptcha('g-recaptcha-res...', 'xxxxxxxxxxxx...', Array, Object(Illuminate\Validation\Validator))
#9 /var/www/vendor/laravel/framework/src/Illuminate/Validation/Validator.php(315): Illuminate\Validation\Validator->validate('g-recaptcha-res...', 'captcha')
#10 /var/www/vendor/laravel/framework/src/Illuminate/Validation/Validator.php(336): Illuminate\Validation\Validator->passes()
#11 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Validation/ValidatesRequests.php(36): Illuminate\Validation\Validator->fails()
#12 /var/www/app/Http/Controllers/Auth/PasswordController.php(46): App\Http\Controllers\Controller->validate(Object(Illuminate\Http\Request), Array)
#13 /var/www/app/Http/Controllers/Auth/PasswordController.php(71): App\Http\Controllers\Auth\PasswordController->passwordValidator(Object(Illuminate\Http\Request))
#14 [internal function]: App\Http\Controllers\Auth\PasswordController->postRestablecer(Object(Illuminate\Http\Request))
#15 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(256): call_user_func_array(Array, Array)
#16 /var/www/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(164): Illuminate\Routing\Controller->callAction('postRestablecer', Array)
#17 /var/www/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(112): Illuminate\Routing\ControllerDispatcher->call(Object(App\Http\Controllers\Auth\PasswordController), Object(Illuminate\Routing\Route), 'postRestablecer')
#18 [internal function]: Illuminate\Routing\ControllerDispatcher->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#19 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#20 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#21 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#22 /var/www/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(114): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#23 /var/www/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(69): Illuminate\Routing\ControllerDispatcher->callWithinStack(Object(App\Http\Controllers\Auth\PasswordController), Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'postRestablecer')
#24 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php(203): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'App\Http\Contro...', 'postRestablecer')
#25 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php(134): Illuminate\Routing\Route->runWithCustomDispatcher(Object(Illuminate\Http\Request))
#26 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(708): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))
#27 [internal function]: Illuminate\Routing\Router->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#28 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#29 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#30 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#31 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(710): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#32 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(675): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#33 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#34 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(236): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#35 [internal function]: Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http{closure}(Object(Illuminate\Http\Request))
#36 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#37 /var/www/vendor/barryvdh/laravel-debugbar/src/Middleware/Debugbar.php(51): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#38 [internal function]: Barryvdh\Debugbar\Middleware\Debugbar->handle(Object(Illuminate\Http\Request), Object(Closure))
#39 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)
#40 /var/www/app/Http/Middleware/VerifyIsAjax.php(20): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#41 [internal function]: App\Http\Middleware\VerifyIsAjax->handle(Object(Illuminate\Http\Request), Object(Closure))
#42 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)
#43 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#44 [internal function]: Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#45 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)
#46 /var/www/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#47 [internal function]: Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#48 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)
#49 /var/www/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(62): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#50 [internal function]: Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#51 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)
#52 /var/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#53 [internal function]: Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#54 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)
#55 /var/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(59): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#56 [internal function]: Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#57 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)
#58 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(44): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#59 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#60 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)
#61 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#62 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#63 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(122): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#64 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(87): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#65 /var/www/public/index.php(54): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#66 {main}

Some ideas?

Illuminate\Support\Facade\Facade

<?php namespace Anhskohbo\NoCaptcha\Facades;

use Illuminate\Support\Facade\Facade;

class NoCaptcha extends Facade
{

    /**
     * Get the registered name of the component.
     *
     * @return string
     */
    protected static function getFacadeAccessor()
    {
        return 'captcha';
    }
}

You should change
use Illuminate\Support\Facade\Facade;
to
use Illuminate\Support\Facades\Facade;

Language support

Hi,

Although I see that it's supported in the code, I did not find any mentioning for localization in your readme.
Suggest adding it.

Thanks

400 response from google.

Hi,

Today without making any changes to the site I'm getting this response on the network console whenever I try to click the captcha:

<HTML>
<HEAD>
<TITLE>Bad Request</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Bad Request</H1>
<H2>Error 400</H2>
</BODY>
</HTML>

it's coming from recaptcha__es.js:236 if that helps.

Any ideas?

Captcha always loading

Hello,

I am trying to implement this component in a personal project and after registering the web and obtaining the necessary keys, I find that the check of the captcha is always loading, without getting to validate in any moment.

Checking the console, I see that a call is made to: https://www.google.com/recaptcha/api2/frame?c=03AHJ_VuvZkVycxFmRG8PCga-_lVZ58hvpdHIpuXvMsinPwIJdoi0jE46mOBsDgm75RLzHzy07XwqSGQYrTb0Pxz5eHTfSKKmkpgUkXC-K0XqLovx26mpOZt-YRo00Xy6e-MnXM5hgv2_Yxw6rVCK4yMDZUS0qwhJfjpaC-daXsKGcDGAIkmWBANQwT4_afIyE-L_-SAZb5Gmx3QNfN0eKHAj88zYW4pqDR9AchFh0yxPysI-99csl9Q3D-00odEpDoOMMf5n4YF0NV5RbCXJPytOziX2CCJrnaY44aXIfaFsyxEAYo-zuLICBXMwROBCWY12tcapsA7I9-vQ0a5k8qTuNF8pzkLHh4OYNO2C7wLCHHksoZ1iEDN_g9mJBGeCs3MgTtQuSynW9kQlcESNYaVd9aUfG0HJn0cAj1WA_Kfg5ufcGJqqTG-U&hl=es&k=202293528&v=r20170104143828&bcr=%5B142895055%2C-2063507639%2C-1165554226%2C1140559581%2C687297530%2C-318737017%2C-1458465509%5D&chr=%5B25%2C49%2C61%5D&hr=-1622409639&bg=!EhSgFDVHRmAdKci-nBpBdCK_-fys6iIHAAAAa1cAAAB7nARfG7CgVjL4pdR9_StId7_HpbSCHke5w7dds1yok6_13pI29KKAa17E9UXJljeYeEoNmCvbPHLBQMlsrbBS3fgww99jM-tAOFUoBffpK-Yu2czW1AJ66BhdkanNsPQa3Q4-AtUJD5CLdFWdMxwYFnzogvQHjHmh__dWcRduJWlRyMWDxh6I3vZLpYpBJmA_QRB270XtEUoc61PpoGiZMXMn_FASB6VJ0uFQHENAQvuFTvx62SYbCFVwTzwpOrFrzfuRv-MmUP76fx4bHcZyVNLGXqn-kAkEKAHiDSu65zMjTtAJsCmTl8kjCnbfTtaeylhoyC8pQdEDJsat5cZwuvPs7IOsPhmIZbfbs_oypnOjGr2VXcMfiss6UA-GZ9d0obhD_ECafy8bHRocjHSEGA69VIR_TGBT03JrKVSN6O-qVVbcrkGgFqX3LWrFLr9InUhAs2CjsqLwBrCGWPKuHcyPEcH3CJm2gMgg7dvko9cIs0iNqKmi1WDDrb2KYTvN9XyLEKXiEch9uPHvyFkb4CKyRQyBcj3eN7zcXathnT-pQ7G2FQCf2jLKcDetdo9fLRUMV6xzdVvGbGepkEdHxcbPmIEYT6GBgcKA7WoAffq-ujzbXtOdN6mje4OiuIRYgEqWFN093p3Q8NNjkQgClxyUBdjdPI_Zy9SQd70hIU4pIwPM4WWqdunB0NnpeNSDLaomhrNeoY3Kwo6l5TpJpWZYUYlrV0jePvww_iNqaIRnvTA9nGf3V85dW76ujCmWCb4nn4UljG8VQmEmyu268nRNclX94uNcTLjR_pQSpWA1vLrCOrAfZ-9R7vXK4ApkjObc_GrOzFf0Dn5SoD7WZazOGT7mEqx2JlrI7q18EN-66XvfmrSzq-M2U4drfBo_8NPVL4D8AmkRCnzCFhtyVuSP9-9A1IJeirWGNRsdrA7bEs2brjuCAxzUy4WycHVNevnC_bV2WXcmqxxihL8tZ6p4gs9o4smIV2h9lQKH1Uq8Hkh0J7mhyZwrIiizzhzegjdFGAw86iSRhzPq40QHQnX-ArQYJoOQzyoa_kyFdATR4C80Baq_SMm79pxe-CvkJkoBHTCQ7hs3iXxSO8WoSL7kbBHS5bFNcCbTVQNVN0DERS2nI6AYeMUEAJp_SgxwGDhaWlbwZv6VHaxM0yJXeexzJFkbRex_t9VRsZ-UPIH3rFph2tyZlalby4-9rfGdk7TtJ_yj5rp1s7QRRHwAE8j5aRk8nkFlNNquNwZ_bmQWc3yYr1zkMvmI8ObmMeqKng0oOqC8g5dlQMjDWBRYAdCdG4Zh-17avtDED5OKNBxAZkwRca7cKfr-Bf0x5BMzSr2vlD9I6osxRCh9EeltmSoVop8UuyS8ddareQBm8Cux-NCQOmzh5dhYCgCbHf6QfWpWtyPVANPAjkEBafq7Ww5HmQk3k32iZ8T-kdsRE_3_GcaFeA73fu_uJrayC1RTpFpZzmUFcj1mr5SqL-7Y4VjU

Where Google responds:
Bad Request

Error 400

Any ideas?

Thank you very much in advance

Validator called twice.

Hi guys,
For some reason the validation is called twice for me:

[2016-06-20 14:21:22] local.INFO: array (
  'success' => true,
  'challenge_ts' => '2016-06-20T14:20:50Z',
  'hostname' => 'lodgestaff.dev',
)  
[2016-06-20 14:21:23] local.INFO: array (
  'success' => false,
  'challenge_ts' => '2016-06-20T14:20:50Z',
  'hostname' => 'lodgestaff.dev',
)  

As you can see by the call logs, the first is fine but the second will obviously fail as it's already been called, I can't see why this is happening.

I see it's loaded 2 times in the bootstrap cache under providers & eager, could this be causing it?

Any help welcome, thanks in advance.

more usable

Please add some css like re-sizing the captcha box. thanks!

Method [validateCaptcha] does not exist.

ERROR : 500 Internal Server Error

Whoops, looks like something went wrong.



1/1
BadMethodCallException
in Validator.php line 2950:

Method [validateCaptcha] does not exist.

See all files here : http://kopy.io/fS0H2

If i delete captcha from the validator .. it works perfectly.
I have delete all vendor folder and redo an install and it doesn't work.

Error in console

Hi,

The captcha work but why is there this error in the console ?
Uncaught Error: ReCAPTCHA placeholder element must be empty

Thank's !

Exclude <script>

Hi, I got an issue when using JS Framework because no-captcha include $html = '<script src="'.$this->getJsLink($lang).'" async defer></script>'."\n";

Is there any option to exclude it and declare it manually at <head> or where ever user wanted?

Timeout

Hi there, since yesterday it stoped working making the following error:

file_get_contents(https://www.google.com/recaptcha/api/siteverify): failed to open stream: Connection timed out

running on terminal the following commands i have the results:

php -r "echo file_get_contents('https://www.google.com/recaptcha/api/siteverify');"

Results on:

PHP Warning:  file_get_contents(https://www.google.com/recaptcha/api/siteverify): failed to open stream: Connection timed out in Command line code on line 1

while, running:

curl https://www.google.com/recaptcha/api/siteverify
{
  "success": false,
  "error-codes": [
    "missing-input-response",
    "missing-input-secret"
  ]
}

is it exclusive issue for me that file_get_contents is not working anymore?

if you want guys i can make a PR using Guzzle, or curl..

Not compatible with Laravel 5.5

When I run composer require anhskohbo/no-captcha

I get this error:

iMac:Project vinny$ composer require anhskohbo/no-captcha
Using version ^2.3 for anhskohbo/no-captcha
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for anhskohbo/no-captcha ^2.3 -> satisfiable by anhskohbo/no-captcha[2.3.0].
    - Conclusion: remove laravel/framework 5.5.x-dev
    - Conclusion: don't install laravel/framework 5.5.x-dev
    - anhskohbo/no-captcha 2.3.0 requires illuminate/support 5.0.*|5.1.*|5.2.*|5.3.*|5.4.* -> satisfiable by laravel/framework[5.4.x-dev], illuminate/support[5.0.x-dev, 5.1.x-dev, 5.2.x-dev, 5.3.x-dev, 5.4.x-dev, v5.0.0, v5.0.22, v5.0.25, v5.0.26, v5.0.28, v5.0.33, v5.0.4, v5.1.1, v5.1.13, v5.1.16, v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1.28, v5.1.30, v5.1.31, v5.1.41, v5.1.6, v5.1.8, v5.2.0, v5.2.19, v5.2.21, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.31, v5.2.32, v5.2.37, v5.2.43, v5.2.45, v5.2.6, v5.2.7, v5.3.0, v5.3.16, v5.3.23, v5.3.4, v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.9].
    - Can only install one of: laravel/framework[5.4.x-dev, 5.5.x-dev].
    - don't install illuminate/support 5.1.x-dev|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support 5.2.x-dev|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support 5.3.x-dev|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support 5.4.x-dev|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.1.1|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.1.13|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.1.16|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.1.2|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.1.20|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.1.22|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.1.25|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.1.28|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.1.30|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.1.31|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.1.41|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.1.6|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.1.8|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.0|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.19|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.21|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.24|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.25|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.26|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.27|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.28|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.31|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.32|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.37|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.43|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.45|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.6|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.2.7|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.3.0|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.3.16|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.3.23|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.3.4|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.4.0|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.4.13|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.4.17|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.4.19|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.4.27|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.4.9|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support 5.0.x-dev|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.0.0|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.0.22|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.0.25|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.0.26|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.0.28|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.0.33|don't install laravel/framework 5.5.x-dev
    - don't install illuminate/support v5.0.4|don't install laravel/framework 5.5.x-dev
    - Installation request for laravel/framework 5.5.* -> satisfiable by laravel/framework[5.5.x-dev].


Installation failed, reverting ./composer.json to its original content.
iMac:Project vinny$

validation.captcha

Hi,

Why do I receive this error? even if the noCaptcha is a green check.

"g-recaptcha-response" => array:1 [
0 => "validation.captcha"
]

Thanks

->passes() and ->fails() both return true simultaneously

$captchaValidator = \Validator::make(Input::all(), ['g-recaptcha-response' => 'required|captcha']);
echo("passes:" .$captchaValidator->passes(). ", fails:".$captchaValidator->fails());

both return 1.

I can just check ->passes() to get around it, but ->fails() should not return 1?

maybe related to:
#38

thanks
j

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.