IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Znegování kontroly délky zadáváni

Aktivity
Avatar
Ondřej Langr (andysekcze):12.5.2015 20:34

Ahoj,
Nevěděl by někdo jak napsat abych toto znegoval? Má to být řešené přes to else if, protože už fakt nevím :D

if($heslo == $potvrd_heslo)
   {
     if($nick AND $email)
       if($heslo_kontrola >= "8" AND $heslo_kontrola <= "20")
       {
                $heslo = md5(md5($heslo));
                include "./config.php";
               $ip = $_SERVER["REMOTE_ADDR"];
       $zapis = mysql_query("INSERT INTO uzivatele SET nick='$nick', heslo='$heslo', email='$email', ip='$ip', opravneni='1' ;");
       echo "Registrace proběhla v pořádku.";
               } else {
        echo("Nezadal jsi jméno nebo email.")
         }
       else if($heslo_kontrola ){
       echo "Heslo musí mít minimální počet 8 znaků a maximální počet 20 znaků.";
     }
   } else {
     echo "Hesla nejsou shodná!";

Předem děkuji

Odpovědět
12.5.2015 20:34
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
Odpovídá na Ondřej Langr (andysekcze)
Martin Konečný (pavelco1998):12.5.2015 21:48

Ahoj,

podívej se http://www.itnetwork.cz/php/tipy-dil1 na část "Příliš velké větvení".

Pokud to přepíšeš do toho způsobu, pak by kontrola délky hesla mohla vypadat takto:

$errors = array();
if ($_POST) {
  if (!$nick) {
    $errors[] = "Nebyl vyplněn nick";
  }
  if (!$email) {
    $errors[] = "Nebyl vyplněn email";
  }
  if (empty($errors)) {
    $passLength = strlen($pass);
    if ($passLength < 8 || $passLength > 20) {
      $errors[] = "Heslo 8-20 znaků";
    }

    if (empty($errors)) {
      $passHash = neco_lepsiho_nez_dvakrat_md5($pass);
      // DB INSERT atd
    }
  }
}
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
12.5.2015 21:48
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.