Cookie im Script false, aber bei if=true
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
anfangsstadium
arbeit
aussage
befehl
code
fokus
frage
funktion
halten
handeln
header
http
kollege
legen
login
richtig funktionieren
schleife
sicheres login
testen
-
Hallo zusammen,
ja, das Thema klingt komisch und ein bisschen verar**** fühle ich mich jetzt auch gerade von meinem PHP-Skript.
Ich habe einen Cookie, der in Sachen Login den Wert true (=eingeloggt) oder eben false enthält. Soweit so gut. Leider sieht das meine folgende If-Abfrage anders:
echo $_COOKIE['login']; if($_COOKIE['login']==true){ load_template($fach); } elseif ($_COOKIE['login']==false) { header('Location: http://www.raphael-priebe.de/bs/error/passwort'); exit; }
Den echo-Befehl habe ich zum testen mit rein gebaut. Es bestätigt meine Aussage, dass der Cookie nach dem ausloggen false und vorher true ist. Doch die If-Abfrage ist immer true, also führt immer die Funktion load_template(); aus. Egal ob der Cookie true oder false ist. Das verwirrt mich, weil daüber true oder eben false steht.
Die Sicherheitstechnischen Aspekte bitte noch nicht so beachten, Skript erst im Anfangsstadium.
Danke sehr schon einmal für eure Hilfe. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Sicherheitstechnisch ist das aber schon schlecht, weil der Cookie beim User ist und so einfach manipuliert werden kann. Besser ist, wenn du Sessions verwendest.
Zu deinem Problem habe ich noch eine Frage: Speicherst Du den Booleschen Wert darin, oder setzt du den Cookie nur und fragst ab, ob er existiert? -
Hallo,
mit Sessions ging das gar nicht, weshalb ich wieder zur Cookie-Methode gewechselt habe. Das soll sich dabei auch nicht um ein sicheres Login handeln, sondern eigentlich nur, um Kollegen abzuschrecken, die von Programmieren keinerlei Ahnung haben, sich von meiner Seite fern zu halten (Scripts (z.B. Umrechner oder so für die Arbeit sollen dort zu finden sein). Von daher nicht so wichtig, weshalb ich auch schrieb, darauf nicht so den Fokus zu legen.
Zu deiner Frage: Ich speichere dort den booleschen Wert.
Beitrag zuletzt geändert: 18.9.2015 17:28:34 von mpsftp -
Du fragst ja ständig danach, ob es den Cookie gibt. Da ist es egal, ob du true oder false im Cookie stehen hast. Gib dem Cookie doch ein ok und nichtok, dann sollte deine Schleife auch richtig funktionieren.
Oder du löscht den Cookie beim ausloggen, dann ist er nicht vorhanden.
Denke aber daran, dass du dann auch einen Reload nach dem Ausloggen erzwingst, damit der Cookie auch wirklich aus dem Browser gelöscht wird. -
Frag einfach mit "isset" ab, ob der Cookie gesetzt ist.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage