Files
pagedev.pl/README.md
2026-01-29 21:08:01 +01:00

78 lines
2.2 KiB
Markdown

# System Logowania 2FA
Prosta aplikacja demonstracyjna logowania dwuskładnikowego w PHP.
## Wymagania
- PHP 7.4 lub nowszy
- SQLite3
- Serwer WWW (Apache/Nginx) lub wbudowany serwer PHP
## Instalacja
1. Skopiuj pliki na serwer WWW
2. Upewnij się, że katalog `database/` ma uprawnienia do zapisu
3. Przejdź do `/inicjalizacja` (lub `index.php?action=init`) aby zainicjalizować bazę danych
4. Zaloguj się używając testowego konta
## Przyjazne URLe
Aplikacja wspiera przyjazne URLe (friendly URLs):
- `/` lub `/logowanie` - ekran logowania
- `/uwierzytelnianie` - proces uwierzytelniania
- `/weryfikacja` - ekran weryfikacji 2FA
- `/weryfikuj-kod` - weryfikacja kodu
- `/panel` lub `/dashboard` - panel użytkownika
- `/wyloguj-sie` - wylogowanie
- `/inicjalizacja` - inicjalizacja bazy danych
Stare URLe z parametrem `?action=` nadal działają dla kompatybilności.
## Dane testowe
- **Login:** projectpro
- **Hasło:** testowehaslo
## Struktura projektu
```
projektphp/
├── controllers/ # Kontrolery MVC
│ ├── InitController.php
│ ├── LoginController.php
│ └── DashboardController.php
├── models/ # Modele danych
│ ├── Database.php
│ └── User.php
├── views/ # Widoki PHP
│ ├── layout.php
│ ├── login.php
│ ├── verify.php
│ └── dashboard.php
├── public/ # Publiczne zasoby
│ ├── css/
│ │ └── style.css
│ └── js/
│ └── app.js
├── database/ # Baza danych SQLite
│ └── database.db
├── .htaccess # Konfiguracja Apache
└── index.php # Punkt wejścia
```
## Proces logowania
1. Użytkownik wprowadza login i hasło
2. System generuje 6-cyfrowy kod weryfikacyjny
3. Kod wyświetlany jest w konsoli przeglądarki (tryb testowy)
4. Po wprowadzeniu prawidłowego kodu użytkownik jest zalogowany
5. Kod wygasa po 15 minutach
## Uwagi
- W trybie testowym kod weryfikacyjny jest wyświetlany w konsoli przeglądarki (F12)
- W produkcji kod powinien być wysyłany emailem
- Hasła są hashowane przy użyciu `password_hash()`
- Sesje są bezpiecznie zarządzane