Anonymní profil Hanka – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Hanka – Programujte.comAnonymní profil Hanka – Programujte.com

 

Příspěvky odeslané z IP adresy 94.113.211.–

Hanka
PHP › přihlašování
1. 11. 2013   #183108

Ahoj, všem moc děkuji za postřehy, něco málo jsem si už prošla a napravila a do zbytku se ještě pustím. Dělala jsem to podle návodů na war3zone.eu, kde je to srozumitelné i pro začátečnici ale asi to má svoje mouchy   

Hanka
PHP › přihlašování
26. 10. 2013   #182796

Ahoj, 

chtěla bych se pokusit se o přihlašování s různými kódováními a úplně s mi to nedaří. Při každém neúspěšném pokusu se do databáze přičítá jednička a podle téhle položky by se s narůstajícími čísly měly dít jiné akce.  Podle všeho probíhá vždy jen ta větev s podmínkou if(FLC < 3)

if (@($_POST["prihlas"])){
        $nick = $_POST["nick"];
        $heslo = $_POST["heslo"];
        $hesloz =  ##############;
        $hesloe1 = ##############;
        $hesloe2 = ##############;
        $hesloe3 = ##############;
        if(isset($_POST["trvale"])){
          setCookie("trvale_prihlaseni", "1", mktime(18, 30, 0, 1, 1, 2020));
          setCookie("nick", "$nick", mktime(18, 30, 0, 1, 1, 2020));
          setCookie("heslo", "$heslo", mktime(18, 30, 0, 1, 1, 2020));
        }      
        include "./config.php";
        $dotay = mysql_query("SELECT * FROM uzivatele WHERE nick='".mysql_real_escape_string($nick)."' AND (heslo_z='$hesloz' OR heslo_e1='$hesloe1' OR heslo_e2='$hesloe2' OR heslo_e3='$hesloe3') AND overeni='1' ;");
                        while($vxstup = mysql_fetch_object($dotay))
                        {
                          $id = $vxstup -> id;
                          $nickdb = $vxstup -> nick;
                          $heslozdb = $vxstup -> heslo_z;
                          $hesloe1db = $vxstup -> heslo_e1;
                          $hesloe2db = $vxstup -> heslo_e2;
                          $hesloe3db = $vxstup -> heslo_e3;  
                          $email = $vxstup -> email;
                          $opravneni = $vxstup -> opravneni;
                          $avatar = $vxstup -> avatar;
                          $FLC = $vxstup -> FLC;
                        }
        //kontroluju hodnotu FLC a podle toho se rozhoduju
        
        if(@$FLC < 3){        
          if($nick == isset($nickdb) AND $hesloz == isset($heslozdb)){
              $_SESSION["id"] = $id;
              $_SESSION["nick"] = $nick;
              $_SESSION["email"] = $email;
              $_SESSION["opravneni"] = $opravneni;
              $_SESSION["avatar"] = $avatar;
              $uprava_flc = mysql_query("UPDATE uzivatele SET FLC='0' WHERE nick='".mysql_real_escape_string($nick)."';");
              echo "<div class='nadpisstranky'>Byli jste přihlášeni jako $nick</div>
                <div class='popisstranky'>Nyní můžete pokračovat v procházení stránek.</div>";
              } else {
              echo "<div class='nadpisstranky'>Pokus o přihlášení selhal</div>
                <div class='popisstranky'>Zadal jsi špatné přihlašovací údaje nebo nemáš aktivovaný účet. <br />
                Zkontroluj velká / malá písmena, diakritiku... Pro aktivaci si zkontroluj emailovou schránku uvedenou při registraci.</div>";            
                  $uprava_flc = mysql_query("UPDATE uzivatele SET FLC=(FLC + 1) WHERE nick='".mysql_real_escape_string($nick)."';"); 
                  echo "<script>
                                setTimeout(function(){
                                parent.window.location.reload(true);}, 2000);</script>";
              } 
            }elseif(@$FLC >= 3 AND $FLC < 6){        
          if($nick == isset($nickdb) AND $hesloe1 == isset($hesloe1db)){
              $_SESSION["id"] = $id;
              $_SESSION["nick"] = $nick;
              $_SESSION["email"] = $email;
              $_SESSION["opravneni"] = $opravneni;
              $_SESSION["avatar"] = $avatar;
              $uprava_flc = mysql_query("UPDATE uzivatele SET FLC='0' WHERE nick='".mysql_real_escape_string($nick)."';");
              echo "<div class='nadpisstranky'>Byli jste přihlášeni jako $nick</div>
                <div class='popisstranky'>Nyní můžete pokračovat v procházení stránek.</div>";
                echo "<script>
                                setTimeout(function(){
                                parent.window.location.reload(true);}, 5000);</script>";
              } else {
              echo "<div class='nadpisstranky'>Pokus o přihlášení selhal</div>
                <div class='popisstranky'>Zadal jsi špatné přihlašovací údaje nebo nemáš aktivovaný účet. <br />
                Zkontroluj velká / malá písmena, diakritiku... Pro aktivaci si zkontroluj emailovou schránku uvedenou při registraci.</div>";            
                  $uprava_flc = mysql_query("UPDATE uzivatele SET FLC=(FLC + 1) WHERE nick='".mysql_real_escape_string($nick)."';");  
                  echo "<script>
                                setTimeout(function(){
                                parent.window.location.reload(true);}, 2000);</script>";
              } 
            }elseif(@$FLC >=6 AND $FLC < 9){        
          if($nick == isset($nickdb) AND $hesloe2 == isset($hesloe2db)){
              $_SESSION["id"] = $id;
              $_SESSION["nick"] = $nick;
              $_SESSION["email"] = $email;
              $_SESSION["opravneni"] = $opravneni;
              $_SESSION["avatar"] = $avatar;
              $uprava_flc = mysql_query("UPDATE uzivatele SET FLC='0' WHERE nick='".mysql_real_escape_string($nick)."';");
              echo "<div class='nadpisstranky'>Byli jste přihlášeni jako $nick</div>
                <div class='popisstranky'>Nyní můžete pokračovat v procházení stránek.</div>";
                echo "<script>
                                setTimeout(function(){
                                parent.window.location.reload(true);}, 5000);</script>";
              } else {
              echo "<div class='nadpisstranky'>Pokus o přihlášení selhal</div>
                <div class='popisstranky'>Zadal jsi špatné přihlašovací údaje nebo nemáš aktivovaný účet. <br />
                Zkontroluj velká / malá písmena, diakritiku... Pro aktivaci si zkontroluj emailovou schránku uvedenou při registraci.</div>";            
                  $uprava_flc = mysql_query("UPDATE uzivatele SET FLC=(FLC + 1) WHERE nick='".mysql_real_escape_string($nick)."';"); 
              }
            } else{        
          if($nick == isset($nickdb) AND $hesloe3 == isset($hesloe3db)){
              $_SESSION["id"] = $id;
              $_SESSION["nick"] = $nick;
              $_SESSION["email"] = $email;
              $_SESSION["opravneni"] = $opravneni;
              $_SESSION["avatar"] = $avatar;
              $uprava_flc = mysql_query("UPDATE uzivatele SET FLC='0' WHERE nick='".mysql_real_escape_string($nick)."';");
              echo "<div class='nadpisstranky'>Byli jste přihlášeni jako $nick</div>
                <div class='popisstranky'>Nyní můžete pokračovat v procházení stránek.</div>";
                echo "<script>
                                setTimeout(function(){
                                parent.window.location.reload(true);}, 5000);</script>";
              } else {
              echo "<div class='nadpisstranky'>Pokus o přihlášení selhal</div>
                <div class='popisstranky'>Zadal jsi špatné přihlašovací údaje nebo nemáš aktivovaný účet. <br />
                Zkontroluj velká / malá písmena, diakritiku... Pro aktivaci si zkontroluj emailovou schránku uvedenou při registraci.</div>";            
                  $uprava_flc = mysql_query("UPDATE uzivatele SET FLC=(FLC + 1) WHERE nick='".mysql_real_escape_string($nick)."';"); 
                  $ip = $_SERVER["REMOTE_ADDR"];
                  $zapis_blokovani = mysql_query("INSERT INTO blokovaneip SET ip='$ip' do_jakeho_uctu='$nick';");
                  echo "<script>
                                setTimeout(function(){
                                parent.window.location.reload(true);}, 2000);</script>";
              }
          }
      }

dík za radu a upozornění co dělám blbě  :) Asi by to šlo i přes switch, ale nějak si netroufám

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý