Download the PHP package forutan/fcaptcha without Composer
On this page you can find all versions of the php package forutan/fcaptcha. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download forutan/fcaptcha
More information about forutan/fcaptcha
Files in forutan/fcaptcha
Package fcaptcha
Short Description Forutan FCaptcha is a secure, modular, image-based CAPTCHA for Laravel with cryptographic protection and multi-context support (login, checkout, etc.). Effectively prevents automated spam in production forms.
License proprietary
Informations about the package fcaptcha
📦 Install via Packagist
🐙 View source on GitHub
🛡️ FCaptcha — Laravel Image-Based CAPTCHA
A secure, modular, image-based CAPTCHA for Laravel with cryptographic protection and multi-context support (login, checkout, etc.). Effectively prevents automated spam in production forms.
Table of Contents 📚
- Features
- Requirements
- Installation
- Prepare CAPTCHA Images
- Middleware Usage
- Configuration
- Probability of Random Success
- Contributing
- Support
- Commercial License
Features
- ✅ Context-aware verification per usage scenario
- 🔐 Tokenized sessions & encrypted image access (no public URLs)
- 🔄 Random image selection + obfuscation each time (e.g. visual noise, distortions)
- 🧠 One-time URLs with secure session binding
- 🛡️ Brute-force protection (retry limits & block durations)
- 🌐 Middleware-ready for any route
- ⚙️ Customizable image count, context behavior, UI
- 🧩 Clean, modern, extendable codebase
Requirements
To use the fcaptcha:prepare-images command, ImageMagick must be installed and available in your system's PATH:
- Linux/macOS: You should have the
convertcommand available - Windows: Install ImageMagick and ensure
magickis accessible in your command prompt
You can verify the installation using:
Installation
Install via Composer:
Publish the config file (this will copy the default settings to config/fcaptcha.php):
Prepare CAPTCHA Images
FCaptcha requires categorized images to generate visual CAPTCHAs. You can prepare your image set using one of these four methods (in order of priority):
📁 Required Folder Structure (All Methods)
No matter which method you choose — whether a custom path, config value, built-in demo set, or published assets — the images folder must follow this categorized layout:
- Folder names become categories
- File names can be anything
- Supported formats:
.jpg,.jpeg,.png
➊ Method 1: Custom folder path (CLI flag)
Pass the images folder path directly via --from:
➋ Method 2: Path via Config
Set your path in config/fcaptcha.php like this:
Then run:
➌ Method 3: Use Built-in Demo Images
If you don't specify --from and leave image_seed_path as null (in config/fcaptcha.php ), FCaptcha will automatically use the built-in demo images from:
In this case, just run:
➍ Method 4: Customize Built-in Images
To use and modify the internal demo set:
-
Publish them:
-
Edit the copied files at:
- Run the preparation:
⚠️ Important: After modifying your image set or resetting the database, you must re-run the image preparation command to sync the new data.
🎉 FCaptcha is now ready to power your Laravel forms with strong, customizable CAPTCHA protection.
Enjoy secure, bot-resistant interactions — right out of the box 💻🛡️
Middleware Usage
Apply fcaptcha.verified:{context} middleware to any route.
Example: single route
Example: group of routes
Each context is verified separately.
Configuration
FCaptcha comes with customizable UI and behavior. You can tweak both via Blade views and config values.
🖌️ Customize the CAPTCHA UI
Publish the default Blade view:
Edit the files under:
You can modify layout, texts, styles, or add your own branding.
🛠️ Change Behavior & Limits
Configuration file is located at config/fcaptcha.php.
It controls core behavior of FCaptcha — including image sizes, retry limits, category logic, and redirect behavior.
Key options:
Probability of Random Success
The probability of randomly solving the CAPTCHA (by pure guessing) is shown below:
🎯 Formula:
P = 1 / C(n, k)
wheren = total imagesandk = required correct selections
| Correct Images (k) | Combinations (C(12, k)) | Probability |
|---|---|---|
| 3 | 220 | ~0.45% |
| 4 | 495 | ~0.20% |
| 5 | 792 | ~0.13% |
| 6 | 924 | ~0.11% |
Average success chance: < 0.4% — providing strong protection against bots.
Contributing
Have ideas for improvements? Found a bug?
Pull requests and issues are warmly welcome — let's make FCaptcha even better together!
Support
If you find FCaptcha helpful:
Commercial License
This project is licensed under a custom non-commercial license. Usage is permitted only for personal and academic purposes. Commercial use of any kind is strictly prohibited. For commercial inquiries, please contact:
👉 Request license
All versions of fcaptcha with dependencies
illuminate/support Version ^9.0|^10.0|^11.0|^12.0
illuminate/routing Version ^9.0|^10.0|^11.0|^12.0
illuminate/http Version ^9.0|^10.0|^11.0|^12.0
illuminate/database Version ^9.0|^10.0|^11.0|^12.0
illuminate/console Version ^9.0|^10.0|^11.0|^12.0