Autor Zpráva
legiani
Profil
Ahoj,

Potřeboval bych nějakou funkci nebo kód který zkontroluje "heslo" a "overheslo"
zda se schoduji to vin jenom if ($heslo == $overheslo){}
ale taky jestli obsahuji aspoň jedno velké písmeno a aspoň jednu číslici -->Heslo123 když vše splňuje zaregistruje jinak vyhodí chibovou hlašku.

Díky za nápad/řešení.
Tomáš123
Profil
legiani:
Niečo ako toto by malo stačiť:
<?php
  if(preg_match("/[A-Za-z0-9]/", $heslo) and $heslo === $overheslo) {
    # registrácia
  }
?>
ptcnadruhou
Profil
legiani:
Nebo tohle myslím

Podmínka

}   
      else if (formObj.pass1.value == "") {
    alert("Please chose your password");
    return false;
    }  
      else if (formObj.pass1.value != formObj.pass2.value)  {
    alert("Passwords doesn't match!");
    return false;}

      else return true;
}

a Pak registrace
<tr>
          <td width="48" rowspan="3">&nbsp;</td>
          <td width="208">Password*:</td>
          <td width="257"><input type="password" maxLength="12" value name="pass1" size="20">
          </td>
        </tr>
        <tr>
          <td width="208">Confirm password*:</td>
          <td width="257"><input type="password" maxLength="12" value name="pass2" size="20">
          </td>
        </tr>
anonymníí
Profil *
Tomáš123:
Tvůj regulár neřeší povinný velký znak, malý znak a číslici. Jen kontroluje, jestli tam není nějaký "speciální znak", což není zadáním. Heslo "a" projde.

ptcnadruhou:
Ten tvůj kód je samozřejmě nesmysl. Už jen tím, že dotaz je na PHP (dle dolarů u proměnných), dále tím, že validace v JS není dostatečná a konče (nebo počínaje) v HTML, kde omezuješ vstup na 12 znaků.

legiani:
Co něco podobného?
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$
ptcnadruhou
Profil
anonymníí:
Samozřejmě že v php.Nesmysl to není,dotaz byl na registraci.Mě to funguje.Bez problému Velká a malá písmena .Nic ve zlém amonime,ale registrace v htlm??
jen se snažím pomoc

http://surf-nadruhou.eu/index.php?id=register
legiani
Profil
Přesně něco takového ale v tomhle tvaru tam můžu napsat cokoli z A-Z a-a 0-9. Jak z toho mužů poskládat jeden velký znak v řetězci, jeden makej a jedna číslice na jakémkoli miste.
¨
To je všechno správně jak to v tomhle stavím ?
Heslo123
hesLo123
123hESLo

Díky moc
ptcnadruhou
Profil
legiani:
Jestli chceš tak ti můžu poslat emailem můj register.php
I já tam můžu napsat cokoliv třeba heslo : MaMa12aNo



Ahoj všem
legiani
Profil
Díky moc za ochotu tohle je správní řešení aspoň zatím jsem nenašel chybu

if (preg_match("/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$/", $heslo) and $heslo === $_POST['overeniheslo'] and strlen($heslo > 6) 

    {
    } 

Děkuji všem.
Keeehi
Profil
legiani:
Za strlen($heslo ti chybí závorka ale jinak ok.

Když už chceš člověka prudit s tím, že mu nařizuješ, jaké má mít heslo, tak mu ale prosím tebe přesně napiš, v čem udělal chybu. Něco jako: "Ve vašem hesle chybí velké písmeno a je moc krátké. Minimum je 6 znaků." Protože jako hláška do tvého ifu by se momentálně hodilo: "Máte chybu v hesle. Není tam malé písmeno, nebo tam není velké písmeno, nebo tam nemáte číslicí, nebo je to heslo kratší než 6 znaků, nebo libovolná kombinace předchozího. A protože jsem líný programátor tak ti neřeknu co máš špatně."

Jen tak mimochodem, heslo Password1 které mi tvým ověřením projde je velmi slabé heslo. Naproti tomu heslo gsiclxowuqvxbxjfidjsmcisoejfbfnxjsksocjfbebrbrkfoxiauazwgetisvxb které bych se odvážil použít k zabezpečení téměř čehokoli, tak to mně neprojde.
Bubák
Profil
Keeehi:
Jen tak mimochodem, heslo Password1 které mi tvým ověřením projde je velmi slabé heslo.
Myslím si., že většina hesel bude slabých, akorát, že první písmeno bude velké a na konci bude 1 nebo 123.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0