first commit
This commit is contained in:
27
database/migrations/007_create_login_attempts.php
Normal file
27
database/migrations/007_create_login_attempts.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Migration 007 — Table de protection contre le brute-force.
|
||||
*
|
||||
* Stocke les tentatives de connexion échouées par adresse IP.
|
||||
* Le champ `locked_until` est NULL tant que le seuil n'est pas atteint,
|
||||
* puis contient la date/heure ISO 8601 de fin de verrouillage.
|
||||
*
|
||||
* Le nettoyage des entrées expirées est effectué par LoginAttemptRepository
|
||||
* à chaque tentative pour éviter l'accumulation de lignes obsolètes,
|
||||
* sans nécessiter de tâche planifiée.
|
||||
*/
|
||||
return [
|
||||
'up' => "
|
||||
CREATE TABLE IF NOT EXISTS login_attempts (
|
||||
ip TEXT NOT NULL PRIMARY KEY,
|
||||
attempts INTEGER NOT NULL DEFAULT 0,
|
||||
locked_until TEXT DEFAULT NULL,
|
||||
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
||||
);
|
||||
",
|
||||
|
||||
'down' => "
|
||||
DROP TABLE IF EXISTS login_attempts;
|
||||
",
|
||||
];
|
||||
Reference in New Issue
Block a user