LoginAttempts plugin for CakePHP
, (*1)
Requirements
- CakePHP >= 3.5
- (Optional) CakePHP Authentication plugin 1.x
Installation
You can install this plugin into your CakePHP application using composer., (*2)
The recommended way to install composer packages is:, (*3)
composer require nojimage/cakephp-login-attempts
Load plugin
(CakePHP >= 3.6.0) Load the plugin by adding the following statement in your project's src/Application.php
:, (*4)
$this->addPlugin('LoginAttempts');
(CakePHP <= 3.5.x) Load the plugin by adding the following statement in your project's config/bootstrap.php
file:, (*5)
Plugin::load('LoginAttempts');
Create table
run migration command:, (*6)
bin/cake migrations migrate -p LoginAttempts
Usage
Use LoginAttempts.Form
authenticator instead of Form
., (*7)
$this->loadComponent('Auth', [
'authenticate' => [
'LoginAttempts.Form' => [
'fields' => ['username' => 'email'],
'attemptLimit' => 5,
'attemptDuration' => '+5 minutes',
],
],
]);
If use are using Authentication plugin:, (*8)
$service->loadAuthenticator('LoginAttempts.Form', [
'fields' => ['username' => 'email'],
'attemptLimit' => 5,
'attemptDuration' => '+5 minutes',
]);
attemptLimit
If the num of login failures of the user exceeds attemptLimit
during attemptDuration
,
the user's login is not permitted., (*9)
default: 5
, (*10)
attemptDuration
If the num of login failures of the user exceeds attemptLimit
during attemptDuration
,
the user's login is not permitted., (*11)
default: '+5 minutes'
, (*12)
attemptAction
The number of attempts is stored separately for this key.
Use when there are multiple login forms and you want to set restrictions separately., (*13)
default: 'login'
, (*14)
attemptsStorageModel
A model used for logging a failure login and check count of failure login., (*15)
default: 'LoginAttempts.Attempts'
, (*16)