anhskohbo / no-captcha

No CAPTCHA reCAPTCHA For Laravel.
https://packagist.org/packages/anhskohbo/no-captcha
MIT License
1.77k stars 233 forks source link

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

Closed FrederickFarfan closed 6 years ago

FrederickFarfan commented 7 years ago

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?

sehgal10 commented 7 years ago

I'm also started facing similar kind of issue. But with name lookup timeout.

ConnectException in CurlFactory.php line 186: cURL error 6: name lookup timed out (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in CurlFactory.php line 186 at CurlFactory::createRejection(object(EasyHandle), array('errno' => '6', 'error' => 'name lookup timed out', 'url' => 'https://www.google.com/recaptcha/api/siteverify', 'content_type' => null, 'http_code' => '0', 'header_size' => '0', 'request_size' => '0', 'filetime' => '-1', 'ssl_verify_result' => '0', 'redirect_count' => '0', 'total_time' => '0', 'namelookup_time' => '0', 'connect_time' => '0', 'pretransfer_time' => '0', 'size_upload' => '0', 'size_download' => '0', 'speed_download' => '0', 'speed_upload' => '0', 'download_content_length' => '-1', 'upload_content_length' => '-1', 'starttransfer_time' => '0', 'redirect_time' => '0', 'redirect_url' => '', 'primary_ip' => '', 'certinfo' => array(), 'primary_port' => '0', 'local_ip' => '', 'local_port' => '0')) in CurlFactory.php line 150 at CurlFactory::finishError(object(CurlHandler), object(EasyHandle), object(CurlFactory)) in CurlFactory.php line 103 at CurlFactory::finish(object(CurlHandler), object(EasyHandle), object(CurlFactory)) in CurlHandler.php line 43 at CurlHandler->invoke(object(Request), array('synchronous' => true, 'timeout' => '2', 'handler' => object(HandlerStack), 'allow_redirects' => array('max' => '5', 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false)) in Proxy.php line 28 at Proxy::GuzzleHttp\Handler{closure}(object(Request), array('synchronous' => true, 'timeout' => '2', 'handler' => object(HandlerStack), 'allow_redirects' => array('max' => '5', 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false)) in Proxy.php line 51 at Proxy::GuzzleHttp\Handler{closure}(object(Request), array('synchronous' => true, 'timeout' => '2', 'handler' => object(HandlerStack), 'allow_redirects' => array('max' => '5', 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false)) in PrepareBodyMiddleware.php line 72 at PrepareBodyMiddleware->invoke(object(Request), array('synchronous' => true, 'timeout' => '2', 'handler' => object(HandlerStack), 'allow_redirects' => array('max' => '5', 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false)) in Middleware.php line 30 at Middleware::GuzzleHttp{closure}(object(Request), array('synchronous' => true, 'timeout' => '2', 'handler' => object(HandlerStack), 'allow_redirects' => array('max' => '5', 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false)) in RedirectMiddleware.php line 68 at RedirectMiddleware->invoke(object(Request), array('synchronous' => true, 'timeout' => '2', 'handler' => object(HandlerStack), 'allow_redirects' => array('max' => '5', 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false)) in Middleware.php line 59 at Middleware::GuzzleHttp{closure}(object(Request), array('synchronous' => true, 'timeout' => '2', 'handler' => object(HandlerStack), 'allow_redirects' => array('max' => '5', 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false)) in HandlerStack.php line 67 at HandlerStack->invoke(object(Request), array('synchronous' => true, 'timeout' => '2', 'handler' => object(HandlerStack), 'allow_redirects' => array('max' => '5', 'protocols' => array('http', 'https'), 'strict' => false, 'referer' => false, 'track_redirects' => false), 'http_errors' => true, 'decode_content' => true, 'verify' => true, 'cookies' => false)) in Client.php line 275

divostar commented 7 years ago

Hi @sehgal10. I am facing your issue. How did you solve it.

herzzanu commented 7 years ago

@divostar I get the same error in my development environment but when deployed in production it works. It worth mentioning the website I use it on is served through HTTPS.

rohankhudedev commented 3 years ago

I am getting this error because my server is behind the proxy.

rohankhudedev commented 3 years ago

I fixed this by setting proxy in configuration file

  1. Publish vendor

    php artisan vendor:publish --provider="Anhskohbo\NoCaptcha\NoCaptchaServiceProvider"
  2. Add proxy as option

    'options' => [
        'timeout' => 30,
        'proxy'   => 'http://User:encodedPassword@Host:Port'
    ],