Autor Zpráva
pedro-7
Profil
Dobry. Mám takýto problém, prihlasim sa normlane ako uzivatel overenie prebehne vsetko,prihlasi ma zobrazi sa mi stranka ale potom ked chcem ist napriklad na dalsiu stranu automaticky tak mi uz to meno a heslo neprenesie, skusam to cez cookie presunut tie udaje, ale nedari sa mam tu aj php kod ako som to spravil

setcookie('meno','',time());
                     setcookie('heslo','',time());
         include "pripojenie.php";
            $vysledok=mysql_query("SELECT heslo,povolenie From uzivatelia where login='{$_REQUEST['meno']}'");
                     if(!mysql_fetch_object($vysledok))
                     {
                     echo"Nesprávne meno!";
                     exit;
                     }
                     if(mysql_result($vysledok,0,"heslo") !="{$_REQUEST['heslo']}")
                     {
                     echo "nesprávne heslo!";
                     exit;
                     }
                      setcookie('meno',$_REQUEST['meno'],time());
                     setcookie('heslo',$_REQUEST['heslo'],time());
toto je kod ten ide ale ako nahle kliknem na dalsiu stranu uz mi meno a heslo neprenesie neviete mi dako poradit ako to mám preniesť aby sa to stále presúvalo?
Norman
Profil
Nezlob se ale toto je naprosto šílené řešení. Absolutní hazard nejen s uživatelem ale i s tvými daty..

V prvé řadě, cookies nepoužívej pro ukládání citlivých dat. Od toho jsou tu sessions.
V druhé řadě, sql injekce taky ukázkový příklad, schválně, co myslíš že by se stalo kdybych do tvého formuláře zadal ' OR 1=1 -- hmm ?

Pokud chceš aby aplikace byla bezpečná musíš nejdřív zjistit jak by se dala napadnout a poté vymyslet řešení.
Doporučuji Ti tedy nejdřív prolítnout útoky přehled na zdrojaku. A potom zkus přihlášení přepsat.

Konkrétně k tvému případu by stačilo něco jako:
session_start();
$_SESSION['meno'] = $meno;
$_SESSION['heslo'] = $heslo;

// a po té můžeš použít (vypíše jméno)
echo $_SESSION['menu'];
pedro-7
Profil
Norman:
No idem to vyskusat

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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