Polyscope - The agent-first dev environment for Laravel

No Captcha

anhskohbo/no-captcha image

No Captcha stats

Downloads
4.8M
Stars
1,713
Open Issues
48
Forks
236

View on GitHub →

No CAPTCHA reCAPTCHA For Laravel.

No CAPTCHA reCAPTCHA Package for Laravel

The No CAPTCHA reCAPTCHA package provides an easy-to-integrate solution to protect your Laravel applications from spam and abuse. This package leverages Google's reCAPTCHA service to differentiate between human users and bots, implementing the latest security measures to safeguard your forms.

Key Features

  • Simple Integration: Quick setup for Laravel applications, with support for Laravel 5.5's auto-discovery feature.
  • Flexible Configuration: Easy customization of reCAPTCHA theme, size, and callback directly from your views.
  • Invisible CAPTCHA Support: Allows the use of Invisible reCAPTCHA for a seamless user experience.
  • Language Support: Localize CAPTCHA prompts to the preferred language of your audience.
  • Testing Support: Facilitates the mocking of CAPTCHA responses during application testing to ensure smooth CI/CD integration.

Installation

Install the package via Composer:

composer require anhskohbo/no-captcha

Setup for Laravel 5 and above

For Laravel versions prior to 5.5, register the service provider and facade in your app/config/app.php:

'providers' => [
Anhskohbo\NoCaptcha\NoCaptchaServiceProvider::class,
];
 
'aliases' => [
'NoCaptcha' => Anhskohbo\NoCaptcha\Facades\NoCaptcha::class,
];

Publish the config file with:

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

Configuration

Add your site and secret keys to your .env file:

NOCAPTCHA_SECRET=your-secret-key
NOCAPTCHA_SITEKEY=your-site-key

Obtain your keys from Google's reCAPTCHA admin console.

Usage

Rendering CAPTCHA

To include reCAPTCHA in your forms:

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

Customize it with options like theme or size:

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

For Invisible reCAPTCHA:

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

Validation

Add reCAPTCHA validation rules to your form requests:

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

Testing

Mock CAPTCHA response in your Laravel tests:

NoCaptcha::shouldReceive('verifyResponse')
->once()
->andReturn(true);

Without Laravel

For non-Laravel PHP projects, you can still utilize this package by including it with Composer and using it directly in your forms.

<?php
require_once "vendor/autoload.php";
 
$captcha = new \Anhskohbo\NoCaptcha\NoCaptcha('your-secret', 'your-sitekey');
 
if (!empty($_POST)) {
var_dump($captcha->verifyResponse($_POST['g-recaptcha-response']));
exit();
}
 
echo $captcha->display();
echo $captcha->renderJs();
?>

Contribution

Contributions are welcome via pull requests on GitHub.

This package makes integrating Google's reCAPTCHA into Laravel applications straightforward and customizable, with support for advanced features like Invisible CAPTCHA and localization. Perfect for developers looking to enhance security without compromising user experience.

anhskohbo photo

PHP Developer

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Anhskohbo No Captcha Related Articles

5 Ways of Battling Form Spam image

5 Ways of Battling Form Spam

Read article
reCAPTCHA Packages for Laravel image

reCAPTCHA Packages for Laravel

Read article
Invisible reCAPTCHA Integration with Laravel image

Invisible reCAPTCHA Integration with Laravel

Read article
Laravel No CAPTCHA reCAPTCHA image

Laravel No CAPTCHA reCAPTCHA

Read article
Honeybadger logo

Honeybadger

Simple developer-focused application monitoring for Laravel. Error tracking, log management, uptime monitoring, status pages, and more!

Honeybadger
CodeKudu logo

CodeKudu

Stand-ups, Retrospectives, and 360° Feedback for the entire team. 50% off with code LARAVELNEWS.

CodeKudu
Get expert guidance in a few days with a Laravel code review logo

Get expert guidance in a few days with a Laravel code review

Expert code review! Get clear, practical feedback from two Laravel devs with 10+ years of experience helping teams build better apps.

Get expert guidance in a few days with a Laravel code review
Blastup logo

Blastup

Blastup provides social media enhancement services including buying Instagram likes, followers, and views, with features like instant delivery and a variety of packages to suit different needs.

Blastup
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift
LoadForge logo

LoadForge

Scalable load testing for web apps & APIs. Simulate real-world traffic and identify breaking points and performance limits with powerful, scalable load tests designed for Laravel.

LoadForge