[FÁZE-1][install] Tabulky přejmenovány na anglické názvy s prefixem auth_
This commit is contained in:
+45
-38
@@ -36,11 +36,11 @@ $uspech = false;
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
|
||||
// Načtení hodnot z formuláře
|
||||
$email = trim($_POST['email'] ?? '');
|
||||
$heslo = $_POST['heslo'] ?? '';
|
||||
$email = trim($_POST['email'] ?? '');
|
||||
$heslo = $_POST['heslo'] ?? '';
|
||||
$heslo2 = $_POST['heslo2'] ?? '';
|
||||
|
||||
// Základní validace emailu
|
||||
// Validace emailu
|
||||
if (empty($email)) {
|
||||
$chyba = 'Email nesmí být prázdný.';
|
||||
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
||||
@@ -66,43 +66,45 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
// ------------------------------------------------
|
||||
|
||||
// Tabulka uživatelů přihlašovacího systému
|
||||
// utf8mb4 = plná podpora Unicode (diakritika, emoji)
|
||||
// utf8mb4 = plná podpora Unicode (diakritika, emoji, ...)
|
||||
$pdo->exec("
|
||||
CREATE TABLE IF NOT EXISTS `" . DB_TABULKA_UZIVATELE . "` (
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`email` VARCHAR(255) NOT NULL,
|
||||
`heslo` VARCHAR(255) NOT NULL,
|
||||
`admin` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`vytvoreno` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`email` VARCHAR(255) NOT NULL,
|
||||
`heslo` VARCHAR(255) NOT NULL,
|
||||
`admin` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`vytvoreno` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `email` (`email`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
");
|
||||
|
||||
// Tabulka remember me tokenů
|
||||
// selector = veřejný identifikátor pro vyhledání záznamu v DB
|
||||
// selector = veřejný identifikátor pro vyhledání záznamu v DB
|
||||
// token_hash = bcrypt hash tajného tokenu (samotný token je jen v cookie)
|
||||
$pdo->exec("
|
||||
CREATE TABLE IF NOT EXISTS `" . DB_TABULKA_TOKENY . "` (
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`uzivatel_id` INT UNSIGNED NOT NULL,
|
||||
`selector` VARCHAR(32) NOT NULL,
|
||||
`token_hash` VARCHAR(255) NOT NULL,
|
||||
`expiruje` DATETIME NOT NULL,
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`uzivatel_id` INT UNSIGNED NOT NULL,
|
||||
`selector` VARCHAR(32) NOT NULL,
|
||||
`token_hash` VARCHAR(255) NOT NULL,
|
||||
`expiruje` DATETIME NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `selector` (`selector`),
|
||||
FOREIGN KEY (`uzivatel_id`) REFERENCES `" . DB_TABULKA_UZIVATELE . "` (`id`) ON DELETE CASCADE
|
||||
FOREIGN KEY (`uzivatel_id`)
|
||||
REFERENCES `" . DB_TABULKA_UZIVATELE . "` (`id`)
|
||||
ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
");
|
||||
|
||||
// Tabulka brute force záznamů
|
||||
// Ukládají se neúspěšné pokusy o přihlášení
|
||||
// Ukládají se neúspěšné pokusy o přihlášení (IP adresa, email, čas)
|
||||
$pdo->exec("
|
||||
CREATE TABLE IF NOT EXISTS `" . DB_TABULKA_BRUTE . "` (
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`ip_adresa` VARCHAR(45) NOT NULL,
|
||||
`email` VARCHAR(255) NOT NULL,
|
||||
`cas` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`ip_adresa` VARCHAR(45) NOT NULL,
|
||||
`email` VARCHAR(255) NOT NULL,
|
||||
`cas` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `ip_adresa` (`ip_adresa`),
|
||||
KEY `email` (`email`)
|
||||
@@ -110,29 +112,33 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
");
|
||||
|
||||
// Tabulka tokenů pro obnovu hesla
|
||||
// Token je platný jen omezenou dobu (viz config.php)
|
||||
// Token je jednorázový a platí omezenou dobu (viz config.php)
|
||||
$pdo->exec("
|
||||
CREATE TABLE IF NOT EXISTS `" . DB_TABULKA_RESET . "` (
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`uzivatel_id` INT UNSIGNED NOT NULL,
|
||||
`token_hash` VARCHAR(255) NOT NULL,
|
||||
`expiruje` DATETIME NOT NULL,
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`uzivatel_id` INT UNSIGNED NOT NULL,
|
||||
`token_hash` VARCHAR(255) NOT NULL,
|
||||
`expiruje` DATETIME NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
FOREIGN KEY (`uzivatel_id`) REFERENCES `" . DB_TABULKA_UZIVATELE . "` (`id`) ON DELETE CASCADE
|
||||
FOREIGN KEY (`uzivatel_id`)
|
||||
REFERENCES `" . DB_TABULKA_UZIVATELE . "` (`id`)
|
||||
ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
");
|
||||
|
||||
// Tabulka uživatelů konkrétní služby (pokud je nastavena)
|
||||
// Tato tabulka slouží pro data specifická pro tvůj projekt
|
||||
// (jméno, nastavení, kontaktní údaje apod.)
|
||||
// Tabulka uživatelů konkrétní služby (pokud je nastavena v config.php)
|
||||
// Tato tabulka slouží pro data specifická pro tvůj projekt.
|
||||
// Zatím obsahuje jen vazbu na auth_users – sloupce si přidáš sám.
|
||||
if (DB_TABULKA_SLUZBA !== '') {
|
||||
$pdo->exec("
|
||||
CREATE TABLE IF NOT EXISTS `" . DB_TABULKA_SLUZBA . "` (
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`uzivatel_id` INT UNSIGNED NOT NULL,
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`uzivatel_id` INT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uzivatel_id` (`uzivatel_id`),
|
||||
FOREIGN KEY (`uzivatel_id`) REFERENCES `" . DB_TABULKA_UZIVATELE . "` (`id`) ON DELETE CASCADE
|
||||
FOREIGN KEY (`uzivatel_id`)
|
||||
REFERENCES `" . DB_TABULKA_UZIVATELE . "` (`id`)
|
||||
ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
");
|
||||
}
|
||||
@@ -141,6 +147,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
// VYTVOŘENÍ PRVNÍHO ADMIN UŽIVATELE
|
||||
// ------------------------------------------------
|
||||
|
||||
// Heslo zahashujeme pomocí bcrypt – nikdy neukládáme plaintext!
|
||||
$heslo_hash = password_hash($heslo, PASSWORD_DEFAULT);
|
||||
|
||||
$stmt = $pdo->prepare("
|
||||
@@ -156,7 +163,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
|
||||
$novy_uzivatel_id = $pdo->lastInsertId();
|
||||
|
||||
// Pokud existuje tabulka služby, vytvoříme prázdný řádek
|
||||
// Pokud existuje tabulka služby, vytvoříme k novému uživateli prázdný řádek
|
||||
if (DB_TABULKA_SLUZBA !== '') {
|
||||
$stmt2 = $pdo->prepare("
|
||||
INSERT INTO `" . DB_TABULKA_SLUZBA . "`
|
||||
@@ -288,10 +295,10 @@ const POPISKY_SILY = [
|
||||
'Velmi silné'
|
||||
];
|
||||
|
||||
const inputHeslo = document.getElementById('heslo');
|
||||
const spanSila = document.getElementById('heslo-sila');
|
||||
const tlacitko = document.getElementById('tlacitko-odeslat');
|
||||
const spanDuvod = document.getElementById('tlacitko-duvod');
|
||||
const inputHeslo = document.getElementById('heslo');
|
||||
const spanSila = document.getElementById('heslo-sila');
|
||||
const tlacitko = document.getElementById('tlacitko-odeslat');
|
||||
const spanDuvod = document.getElementById('tlacitko-duvod');
|
||||
|
||||
inputHeslo.addEventListener('input', function () {
|
||||
const hodnota = this.value;
|
||||
|
||||
Reference in New Issue
Block a user