From 046dc2e32512dad2458be3e367e16e6e1a6f46f3 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 25 Jan 2025 19:30:45 +0200 Subject: feat(models/user): Store password hash instead of plain password --- migrations/00-initial.sql | 3 ++- models/user.php | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/migrations/00-initial.sql b/migrations/00-initial.sql index ba00b32..7b08719 100644 --- a/migrations/00-initial.sql +++ b/migrations/00-initial.sql @@ -1,10 +1,11 @@ CREATE DATABASE IF NOT EXISTS nwfh; USE nwfh; +-- Password is BCRYPT encrypted, and is maximum 72 characters CREATE TABLE IF NOT EXISTS Users ( UID INT NOT NULL AUTO_INCREMENT, Username VARCHAR(50) NOT NULL UNIQUE, - Password VARCHAR(50) NOT NULL, + Password VARCHAR(72) NOT NULL, Role ENUM('User', 'Admin') NOT NULL, PRIMARY KEY (UID) ); diff --git a/models/user.php b/models/user.php index 0871d79..eff2c3e 100644 --- a/models/user.php +++ b/models/user.php @@ -9,6 +9,7 @@ class User extends Table { public $Role; static function create(string $Username, string $Password, string $Role) : int { + $Password = password_hash($Password, PASSWORD_BCRYPT); return Table::_create( "Users", "(Username, Password, Role)", -- cgit v1.2.3