aklim/yii2-check-login-attempts

There is no license information available for the latest version (v1.1.4) of this package.

Disable login after multiple failures.

v1.1.4 2020-06-10 14:52 UTC

This package is auto-updated.

Last update: 2024-05-10 23:45:16 UTC


README

this is a checker for login attempts, forked from https://github.com/giannisdag/yii2-check-login-attempts

based on https://github.com/ethercreative/yii2-login-attempts-behavior

Installation

The preferred way to install this extension is through composer. Either run

composer require aklim/yii2-check-login-attempts

or add

"aklim/yii2-check-login-attempts": "*"

to the require section of your composer.json file.

Usage

Run the following migration

php yii migrate --migrationPath="@vendor/aklim/yii2-check-login-attempts/src/migrations"  --interactive=0

Add the behavior to your login model

    public function behaviors()
    {
        $behaviors = parent::behaviors();
        
        $behaviors[] = [
             'class' => '\aklim\yii2CheckLoginAttempts\behaviors\LoginAttemptBehavior',
            
            // Amount of attempts in the given time period
            'attempts' => 3,
            
            // the duration, in seconds, for a regular failure to be stored for
            // resets on new failure
            'duration' => 300,
            
            // the duration, in seconds, to disable login after exceeding `attemps`
            'disableDuration' => 900,
            
            // the attribute used as the key in the database
            // and add errors to
            'usernameAttribute' => 'username',
            
            // the attribute to check for errors
            'passwordAttribute' => 'password',
            
            // the validation message to return to `usernameAttribute`
            'message' => Yii::t('app', 'Login disabled'),
        ];
        
        return $behaviors;
    }