[FÁZE-1][config] Přidán konfigurační soubor systému přihlašování

[FÁZE-1][db] Přidáno připojení k databázi přes PDO
[FÁZE-1][install] Přidán instalační skript s tvorbou tabulek a prvního admina
This commit is contained in:
stepan
2026-03-16 23:08:28 +01:00
parent b24b0720f6
commit c4ec313eeb
3 changed files with 518 additions and 0 deletions
+147
View File
@@ -0,0 +1,147 @@
<?php
// ============================================================
// KONFIGURACE SYSTÉMU PŘIHLAŠOVÁNÍ
// ============================================================
// Tento soubor upravíš při nasazení do každého projektu.
// NIKDY jej nenahrávej na veřejné místo s reálnými hesly!
// ============================================================
// ------------------------------------------------------------
// DATABÁZE
// ------------------------------------------------------------
// Adresa databázového serveru (většinou localhost)
define('DB_HOST', 'localhost');
// Název databáze
define('DB_NAME', 'nazev_databaze');
// Uživatelské jméno pro přístup k databázi
define('DB_USER', 'uzivatel_databaze');
// Heslo pro přístup k databázi
define('DB_PASS', 'heslo_databaze');
// Název tabulky uživatelů přihlašovacího systému
// (neměň po první instalaci!)
define('DB_TABULKA_UZIVATELE', 'uzivatele');
// Název tabulky remember me tokenů
define('DB_TABULKA_TOKENY', 'remember_tokeny');
// Název tabulky pro brute force záznamy
define('DB_TABULKA_BRUTE', 'brute_force');
// Název tabulky pro tokeny obnovy hesla
define('DB_TABULKA_RESET', 'reset_hesla');
// Název tabulky uživatelů konkrétní služby (tvoje vlastní tabulka)
// Při registraci se do ní automaticky přidá prázdný řádek.
// Pokud tuto funkci nechceš, nastav na prázdný řetězec: ''
define('DB_TABULKA_SLUZBA', 'sluzba_uzivatele');
// ------------------------------------------------------------
// NÁZEV A URL PROJEKTU
// ------------------------------------------------------------
// Název projektu zobrazuje se na přihlašovací stránce apod.
define('PROJEKT_NAZEV', 'Název mého projektu');
// Základní URL projektu (bez lomítka na konci)
// Používá se např. v odkazech v emailech
define('PROJEKT_URL', 'https://example.com');
// Cesta k přihlašovací stránce (relativní od kořene projektu)
define('AUTH_LOGIN_URL', '/auth/login.php');
// Cesta k hlavní stránce po přihlášení
define('AUTH_REDIRECT_PO_PRIHLASENI', '/index.php');
// ------------------------------------------------------------
// REGISTRACE
// ------------------------------------------------------------
// true = registrace je otevřená pro kohokoliv (zobrazí se odkaz na registraci)
// false = registraci může provádět pouze admin přes admin.php
define('REGISTRACE_OTEVRENA', true);
// ------------------------------------------------------------
// PŘÍSTUP NEPŘIHLÁŠENÝCH UŽIVATELŮ
// ------------------------------------------------------------
// true = nepřihlášený uživatel je VŽDY přesměrován na login,
// obsah chráněné stránky se mu vůbec nezobrazí
// false = nepřihlášený uživatel obsah VIDÍ (auth.php jen nastaví
// proměnné $auth_prihlasen a $auth_uzivatel),
// stránka sama rozhodne, co mu ukáže
define('VYZADOVAT_PRIHLASENI', true);
// ------------------------------------------------------------
// SESSION
// ------------------------------------------------------------
// Název session cookie (změň, pokud máš na serveru více projektů)
define('SESSION_NAZEV', 'auth_session');
// Maximální délka nečinnosti session v sekundách (výchozí: 2 hodiny)
define('SESSION_EXPIRACE', 60 * 60 * 2);
// ------------------------------------------------------------
// REMEMBER ME (zapamatovat si mě)
// ------------------------------------------------------------
// Délka platnosti "zapamatovat si mě" cookie v sekundách (výchozí: 30 dní)
define('REMEMBER_EXPIRACE', 60 * 60 * 24 * 30);
// ------------------------------------------------------------
// BRUTE FORCE OCHRANA
// ------------------------------------------------------------
// Maximální počet neúspěšných pokusů před zablokováním
define('BRUTE_MAX_POKUSU', 10);
// Časové okno v sekundách, ve kterém se pokusy počítají (výchozí: 15 minut)
define('BRUTE_OKNO', 60 * 15);
// ------------------------------------------------------------
// HESLO MINIMÁLNÍ SÍLA
// ------------------------------------------------------------
// Minimální skóre zxcvbn (0 = nejslabší, 4 = nejsilnější)
// Doporučená hodnota: 2 (rozumně silné heslo)
define('HESLO_MIN_SILA', 2);
// Minimální délka hesla v znacích
define('HESLO_MIN_DELKA', 8);
// ------------------------------------------------------------
// EMAIL
// ------------------------------------------------------------
// Emailová adresa, ze které se odesílají zprávy systému
define('MAIL_ODESILATEL', 'noreply@example.com');
// Jméno odesílatele (zobrazí se v emailovém klientu)
define('MAIL_ODESILATEL_JMENO', 'Název mého projektu');
// Testovací emailová adresa (pro tlačítko "test emailu" v admin.php)
define('MAIL_TEST_ADRESA', 'tvuj@email.com');
// ------------------------------------------------------------
// STYLOVÁNÍ
// ------------------------------------------------------------
// Cesta k vlastnímu CSS souboru pro stránky auth systému.
// Pokud nechceš vlastní styl, nastav na prázdný řetězec: ''
// Příklad: '/css/auth-styl.css'
define('AUTH_CSS', '');