[ui] Extrahována kontrola síly hesla do samostatného JS souboru, přidána kontrola minimální délky
[ui] registrace.php – použit společný JS pro kontrolu hesla [ui] nove_heslo.php – použit společný JS pro kontrolu hesla, opraven odkaz na reset [ui] admin.php – použit společný JS pro kontrolu hesla [FÁZE-1][install] Vícekrokový průběh instalace, použit společný JS pro kontrolu hesla
This commit is contained in:
+7
-34
@@ -11,6 +11,7 @@
|
||||
// Krok 2 – pokud selže, zobrazí SQL pro ruční zadání do phpMyAdmin
|
||||
// Krok 3 – ověření, že tabulky existují a mají správnou strukturu
|
||||
// Krok 4 – formulář pro vytvoření prvního admina + zámek
|
||||
// Krok 5 – instalace úspěšně dokončena
|
||||
//
|
||||
// Po úspěšné instalaci se vytvoří soubor install.lock
|
||||
// a tento skript již nepůjde spustit znovu.
|
||||
@@ -132,9 +133,8 @@ function zkontroluj_tabulky(PDO $pdo): array
|
||||
// URČENÍ AKTUÁLNÍHO KROKU
|
||||
// ------------------------------------------------------------
|
||||
|
||||
$krok = 1; // výchozí krok
|
||||
$chyba = '';
|
||||
$zprava = '';
|
||||
$krok = 1;
|
||||
$chyba = '';
|
||||
|
||||
// Krok se přenáší přes skryté pole ve formuláři
|
||||
$krok_z_post = (int) ($_POST['krok'] ?? 0);
|
||||
@@ -250,7 +250,7 @@ elseif ($krok_z_post === 4) {
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------
|
||||
// SESTAVENÍ SQL TEXTU PRO ZOBRAZENÍ UŽIVATELI (krok 2)
|
||||
// SESTAVENÍ SQL TEXTU PRO ZOBRAZENÍ UŽIVATELI (krok 2 a 3)
|
||||
// ------------------------------------------------------------
|
||||
|
||||
$sql_pro_zobrazeni = implode(";\n\n", $sql_tabulky) . ';';
|
||||
@@ -393,37 +393,10 @@ elseif ($krok === 5): ?>
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/zxcvbn/4.4.2/zxcvbn.js"></script>
|
||||
<script>
|
||||
const MIN_SILA = <?php echo (int) HESLO_MIN_SILA; ?>;
|
||||
const POPISKY_SILY = ['Velmi slabé','Slabé','Průměrné','Silné','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');
|
||||
|
||||
// Prvky existují jen na kroku 4
|
||||
if (inputHeslo) {
|
||||
inputHeslo.addEventListener('input', function () {
|
||||
const hodnota = this.value;
|
||||
if (hodnota.length === 0) {
|
||||
spanSila.textContent = 'Síla hesla: zadej heslo';
|
||||
tlacitko.disabled = true;
|
||||
spanDuvod.textContent = ' (čekám na dostatečně silné heslo)';
|
||||
return;
|
||||
}
|
||||
const vysledek = zxcvbn(hodnota);
|
||||
const skore = vysledek.score;
|
||||
spanSila.textContent = 'Síla hesla: ' + POPISKY_SILY[skore] + ' (' + skore + '/4)';
|
||||
if (skore >= MIN_SILA) {
|
||||
tlacitko.disabled = false;
|
||||
spanDuvod.textContent = '';
|
||||
} else {
|
||||
tlacitko.disabled = true;
|
||||
spanDuvod.textContent = ' (heslo je příliš slabé, potřebuji alespoň ' + MIN_SILA + '/4)';
|
||||
}
|
||||
});
|
||||
}
|
||||
var AUTH_HESLO_MIN_SILA = <?php echo (int) HESLO_MIN_SILA; ?>;
|
||||
var AUTH_HESLO_MIN_DELKA = <?php echo (int) HESLO_MIN_DELKA; ?>;
|
||||
</script>
|
||||
<script src="<?php echo htmlspecialchars(PROJEKT_URL); ?>/auth/js/heslo-sila.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user