Autor Zpráva
Joska123
Profil *
Čus, mam problém.

Mám přihlašování a odhlašování přes cookies ale mám malou chybu.
Když přejdu na odhlaseni.php tak mi napíše odhlášeno ale neodhlásí se (Pořád se mi píše že moje heslo v cookies je dobré i když ho mažu.)


Formulář přihlašování :
<?php
if(isset($_COOKIE['Estus-jmeno'])){
$profil1 = file_get_contents("Estus/uzivatele/".$_COOKIE['Estus-jmeno'].".html");
$rozdeleno = explode("<+\+|+/+>", $profil1);
if($_COOKIE['Estus-heslo']==$rozdeleno[2]){
echo $_COOKIE['Estus-jmeno']."<BR>";
echo "<a href=\"Estus/uzivatele/odhlasit.php\">Odhlásit se</a>";
}} else echo "Nejste přihlášen !";
?>


Formulář odhlašování :
<?php
if(isset($_COOKIE['Estus-jmeno'])){
$profil = file_get_contents($_COOKIE['Estus-jmeno'].".html");
$rozdeleno = explode("<+\+|+/+>", $profil);
if($_COOKIE['Estus-heslo']==$rozdeleno[2]){
setcookie("Estus-jmeno","");
setcookie("Estus-heslo","");
echo "<h1>Odhlášeno !</h1>";
} else echo "Pro vykonání této funkce musíte být přihlášen !";
}
?>


Kamarád mi říkal něco s headery nebo tak nějak ale nepochopil jsem ho.

Díky moc za KAŽDOU pomoc.
Alphard
Profil
Přihlašování se řeší přes session, tohle radši smažte. Jestli dobře chápu, že ukládáte heslo v plain textu do cookies, tak to teda potěš.

Inspirujte se ve FAQ.
Joska123
Profil *
Alphard

Heslo ukládám v .sh1.
Ok, zkusím to. Děkuji.
Radim24
Profil
Mě nepřipadá jako dobrý nápad ukládat heslo do cookies. Nechápu proč. Pokud už chceš používat cookies tak by ti mělo stačit uložit něco jako $logged=1; a až ho odhlásíš tak mu nastavíš $logged=0; Nebo to můžeš zdokonalit a $logged=0 pro nepřihlášené návštěvníky a $logged>0 pro všechny přihlášené uživatele, kde $logged==1 je běžný uživatel a $logged>1 je někdo z redakčního nebo administračního teamu.
Joska123
Profil *
Radim : Tohle mě nenapadlo, díky, určitě to využiju.
Nevíš ale jak docílit toho aby se šlo odhlásit ? díky
fuckin
Profil
Radim24
A co kdyz budu chtet zjistit jeho id?
A co kdyz zmenim rucne hodnotu cookie treba na 5, stanu se adminem? Parada. Doufam ze tam budou nejake citlive udaje.
Lamicz
Profil
fuckin: to je bezny, uz jsem takovy CMS videl, tam pro zmenu bylo to id v cookie, stacilo zjistit, jaky id ma admin ;)
Joska123: Tam musis nastavit te cookie cas do minulosti: setcookie('xxxxxx', '', time() - 1);. Jinak bych do toho cookie vubec nepletl (pominu-li např. trvalá přihlášení apod.), na to mame prece superglobalni pole $_SESSION (viz Alphard)
fuckin
Profil
Lamicz
Admin je vetsinou id = 1 ptze vzdy je prece prvni na webu. :D Takze hacknuti je otazkou vterin.

Takove cms jsou ubohe, nechapu jak takovy **** mohou nekomu prodat.
Joska123
Profil *
Lamicz
To jsem také skoušel, ale bohužel - marně.
Když to mám zvlášť (Jen PHP kód na stránce) tak mi to funguje i takhle, ovšem jakmile to includuju někam na stránku kde před tím je nějaký výstup - nefunguje.
fuckin
Profil
Joska123
A divis se? Toto musi probihat pred vystupem.
Joska123
Profil *
Fuckin
Ano, vím to, jen nechci mít formulář na přihlášení úplně nahoře na stránce nebo na zvláštní stránce. Proto sem se zeptal - Neexistuje nějaký způsob, jak to mít kdekoli na stránce, ale aby to fungovalo ?
fuckin
Profil
html si dej kam chces, php kod s overenim dej nahoru.
Joska123
Profil *
Fuckin
To vím taky, ale když mám php takhle :

<?php
if(isset($_POST['jmeno])){
Kód s ověřením
} else {
formulář }
?>


Tak bych musel mít formulář NAD html, já bych ho ale chtěl UVNITŘ html.
Grr
Profil *
Fuckin
To vím taky, ale když mám php takhle :

<?php
if(isset($_POST['jmeno])){
Kód s ověřením
} else {
formulář }
?>

Tak bych musel mít formulář NAD html, já bych ho ale chtěl UVNITŘ html.


tak dej ten formulář třeba do proměný $obsah.... a pak v divu kde chceš nmit formuláře dej akorát <?php
echo "$obsah";
?>


;);)
:)))
Joska123
Profil *
Grr

Ať dělám, co dělám, stejně nevím jak to myslíš...
Pokusil jsem se to udělat tak, jak říkáš ale nešlo se ani přihlásit. =(
Radim24
Profil
Radim24
A co kdyz budu chtet zjistit jeho id?
A co kdyz zmenim rucne hodnotu cookie treba na 5, stanu se adminem? Parada. Doufam ze tam budou nejake citlive udaje.


Vždyť jsem mu psal ať nepoužívá cookies. Ale pokud si to už zvolí, tak by měl počítat s riziky.

Metodu kterou jsem popsal používám při DB_sessions

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: