PHPackages                             melk/extended-login-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. melk/extended-login-bundle

ActiveSymfony-bundle[Authentication &amp; Authorization](/categories/authentication)

melk/extended-login-bundle
==========================

Provides extended login form with captcha for several sequences failed login attempts.

1.0.8(5y ago)014.0k1MITPHP

Since Aug 30Pushed 5y ago1 watchersCompare

[ Source](https://github.com/dmelk/ExtendedLoginBundle)[ Packagist](https://packagist.org/packages/melk/extended-login-bundle)[ RSS](/packages/melk-extended-login-bundle/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (6)Versions (10)Used By (0)

MelkExtendedLoginBundle
=======================

[](#melkextendedloginbundle)

[![Build Status](https://camo.githubusercontent.com/241d3f8e03c9a2e81c05ad986e948d97f1b95f708d11f748ebb70ca69f7d4912/68747470733a2f2f7472617669732d63692e6f72672f646d656c6b2f457874656e6465644c6f67696e42756e646c652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/dmelk/ExtendedLoginBundle)[![SensioLabsInsight](https://camo.githubusercontent.com/79faac6250de78d3708a7fdd67b10369177a996673616d38fd7ccaf335d0aff9/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f33353933376335372d366532382d343634372d616137382d3234306434646231663235622f6d696e692e706e67)](https://insight.sensiolabs.com/projects/35937c57-6e28-4647-aa78-240d4db1f25b)

About
-----

[](#about)

This bundle allows you to use extended login form with captcha when several sequenced failed login attempts received from one IP address.

Installation
------------

[](#installation)

### Step 1

[](#step-1)

Simply install it via composer:

`composer require melk/extended-login-bundle`

### Step 2

[](#step-2)

Enable bundle and it's dependencies in the `AppKernel`:

```
new Snc\RedisBundle\SncRedisBundle(),
new Gregwar\CaptchaBundle\GregwarCaptchaBundle(),
new Melk\ExtendedLoginBundle\MelkExtendedLoginBundle(),

```

Configuration
-------------

[](#configuration)

### Gregwar captcha

[](#gregwar-captcha)

Gregwar captcha bundle configuration can be found [here](https://github.com/Gregwar/CaptchaBundle)

### Snc redis

[](#snc-redis)

General configuration info for snc redis bundle can be found [here](https://github.com/snc/SncRedisBundle)

Extened login bundle requires snc client configuration, for example:

```
#app/config/config.yml
snc_redis:
    clients:
        captcha_login:
            type: phpredis
            alias: captcha_login
            dsn: redis://redis/4

```

### Extended login bundle

[](#extended-login-bundle)

You can use it without any additional configuration. List of all options with default values:

```
#app/config/config.yml
melk_extended_login:
    client: captcha_login
    max_attempts: 5
    attempts_period: 300 (5 minutes in seconds)
    captcha_period: 1800 (30 minutes in seconds)

```

Usage
-----

[](#usage)

### Enabling form

[](#enabling-form)

Simply change your firewall settings changing form\_login to melk\_form\_login. No additional configuration required:

```
#app/config/security.yml
secured_area:
    melk_form_login:
        captcha_parameter: _captcha

```

All other options inherited from the basic Symfony form\_login

### Accessing captcha info

[](#accessing-captcha-info)

Bundle provides you `melk_extended_login.service.captcha_login_service`which allows to check if captcha required and get captcha image url:

```
$captchaLoginService = $container->get('melk_extended_login.service.captcha_login_service');

$captchaLoginService->isCaptchaRequired($request),
$captchaLoginService->getCaptchaUrl()

```

### Authentication Failure Handler

[](#authentication-failure-handler)

Bundle provides own authentication failure handler, which will return `JsonResponse` with next keys: `success`, `message` and optional `captcha` (captcha url if captcha required) in case when request sent via AJAX (it is `XmlHttpRequest`). In all other cases this handler acts as default form login authentication failure handler.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 92.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~179 days

Recently: every ~357 days

Total

9

Last Release

2113d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a070fe6eab15db66b6a14dfc3c972f76da068ce1c4e843e3f9f58d8d7462363d?d=identicon)[dmelk](/maintainers/dmelk)

---

Top Contributors

[![dmelk](https://avatars.githubusercontent.com/u/7504387?v=4)](https://github.com/dmelk "dmelk (12 commits)")[![ArtemBrovko](https://avatars.githubusercontent.com/u/2372366?v=4)](https://github.com/ArtemBrovko "ArtemBrovko (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/melk-extended-login-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/melk-extended-login-bundle/health.svg)](https://phpackages.com/packages/melk-extended-login-bundle)
```

###  Alternatives

[scheb/2fa

Two-factor authentication for Symfony applications (please use scheb/2fa-bundle to install)

578630.7k1](/packages/scheb-2fa)[scheb/2fa-bundle

A generic interface to implement two-factor authentication in Symfony applications

6914.0M62](/packages/scheb-2fa-bundle)[web-auth/webauthn-framework

FIDO2/Webauthn library for PHP and Symfony Bundle.

50570.7k1](/packages/web-auth-webauthn-framework)[auth0/symfony

Symfony SDK for Auth0 Authentication and Management APIs.

128738.1k](/packages/auth0-symfony)[web-auth/webauthn-symfony-bundle

FIDO2/Webauthn Security Bundle For Symfony

63397.4k6](/packages/web-auth-webauthn-symfony-bundle)[klapaudius/oauth-server-bundle

Symfony(5.x to 8.x) OAuth Server Bundle

15547.3k2](/packages/klapaudius-oauth-server-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
