Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Gentle Force Bundle

Gentle Force Bundle Laravel Package

maba/gentle-force-bundle

maba/gentle-force-bundle adds brute force protection to your login forms by tracking failed authentication attempts and throttling repeated failures, helping block attackers while keeping legitimate users signed in smoothly.

View on GitHub
Deep Wiki
Context7

Symfony bundle for brute-force, error and request rate limiting

Frequently asked questions about Gentle Force Bundle
Can I use maba/gentle-force-bundle in a Laravel application?
No, not realistically. It is a Symfony bundle that ships a Bundle class, a DependencyInjection extension for the maba_gentle_force config tree, and subscribers wired into Symfony's security.authentication.failure flow, none of which bootstrap under Laravel's service container. For Laravel, use Illuminate\Cache\RateLimiter, the throttle middleware, and a listener on Illuminate\Auth\Events\Failed instead.
How do I install maba/gentle-force-bundle?
In a Symfony application you install it with Composer and register the bundle so its DependencyInjection extension loads the maba_gentle_force configuration. There is no Laravel service provider or auto-discovery path, so Composer requiring it in a Laravel app gives you an inert dependency rather than working throttling. Check the repository for the exact registration steps and supported Symfony version before attempting this.
How does maba/gentle-force-bundle protect against brute-force login attacks?
It tracks failed authentication attempts and temporarily blocks abusive users or IP addresses once configurable thresholds are exceeded. Failures can be keyed by username, IP address, or custom criteria, and attempt data is persisted through swappable storage adapters. The result is a lightweight login throttling layer rather than a full authentication or WAF product.
How do I configure attempt limits and lockout durations in maba/gentle-force-bundle?
Configuration is exposed through the maba_gentle_force config tree loaded by the bundle's DependencyInjection extension. That is where you set attempt limits, lockout durations, reset windows, and the storage adapter used to persist attempt data. The exact key names are not covered in the provided excerpt, so verify them against the bundle documentation for your Symfony version.
Does maba/gentle-force-bundle support Symfony 6 and Symfony 7?
Symfony 6 and 7 support is unverified. There has been no tagged release since 2021-08-26, and the event and dependency-injection wiring targets the Symfony 4.4 and 5.x era with PHP 7.x and 8.0-era constraints. If you genuinely need a Symfony limiter today, prefer symfony/rate-limiter and Symfony's native login throttling instead.
What are the best alternatives to maba/gentle-force-bundle for Laravel login throttling?
For Laravel, the mature path is Illuminate\Cache\RateLimiter backed by Redis, the throttle middleware for request-rate limits, and a listener on Illuminate\Auth\Events\Failed for brute-force protection keyed on email and IP. That combination covers the bulk of the bundle's functionality and inherits Laravel's framework support guarantees. On Symfony, symfony/rate-limiter plus native login throttling is the actively maintained equivalent.
Is maba/gentle-force-bundle still maintained?
There has been no tagged release since 2021-08-26, and the project has roughly 50 stars and zero dependents. It is a single-author MIT project with no visible security policy, so the bus factor is one. Shipping an unmaintained dependency directly on the login path is a supply-chain exposure your team would have to own.
How do I test brute-force login protection in a Laravel app?
Write feature tests that post invalid credentials to your login route repeatedly and assert that the expected throttle response, such as HTTP 429, appears after the configured number of failures. Clear limiter state between tests with RateLimiter::clear or a fresh cache store so cases remain isolated. Test per-email and per-IP buckets separately, and consider running decisions in shadow mode first so you can tune thresholds from metrics before enforcing.
How should I track failed login attempts by username and IP in Laravel?
Listen for Illuminate\Auth\Events\Failed and increment RateLimiter buckets keyed on something like email and IP, with an exponential backoff and a reset window. Use Redis as the store so increments are atomic and counters survive across PHP workers. Behind a CDN or proxy, derive the client IP from trusted-proxy configuration rather than raw request headers, and decide explicitly whether the limiter should fail open or fail closed.
Is it safe to install an unmaintained throttling package on the authentication path?
It is a high-risk choice. The bundle is stale, targets an older Symfony generation, has no published disclosure process, and has essentially no downstream cohort to absorb breakage or publish fixes. If you must use it, vendor and patch it deliberately, but the safer recommendation is to treat it as a design reference and build the limiter on Laravel primitives or a maintained Symfony component.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections