Das passwort wird verschlüsselt und mit der DB verglichen.
Ich wollte jetzt aber, wenn ich mich erfolgreich eingelogg habe, den Status “eingeloggt” weiter auf anderen Seiten benutzen.
Ich habe es schon mit beiden Sachen versucht, aber mann MUSS ja die Sessions und Cookies im HEADER teil bearbeiten und das ist mein Problem, da ich die Abfragen weiter unten mache und dort kann ich die cookies dann nicht ändern oder doch?
Ich habe schon (fast) ganz google durchforstet und wollte jetzt euch fragen;
1.) Was sicherer ist (Cookies <–> Sessions)?
2.) Wie man diese überall bearbeiten/abfragen/umbennen/… kann?
3.)Ob ihr ir ein Beispiel geben könntet.
Sessions sind sicherer, da sie auf dem Server abgespeichert werden und somit (bei richtiger konfiguration) schwerer zu bekommen sind.
2.+3. Session ausgeben:
[...]
echo "$_SESSION['Name']";
[...]
Session setzten:
Session löschen (löscht alle Sessions der Verbindung):
Wenn man Sessions verwendet sollte man auf allen seiten als erste bzw. zweite zeile das hier eingeben:
Autsch.
Was du bzgl. Sessions und Cookies sagst ist genau richtig! Aber bei dem Code kreuselt es sich bei mir. Wenn du mit echo etwas ausgeben willst, was nur in einer Variable steht, brauchst du keine Anführungszeichen, nur wenn du direkt Text ausgeben willst ist das nötig.
Also
reicht vollkommen, schliesslich steht in der Variable vermutlich schon ein String
Nicht nur das, wenn du deine Datein in UTF-8 speicherst, musst du sogar aufpassen, das du kein BOM (eine kleine Information vor der Datei) mitspeicherst, auch das kann zum Fehler führen.
Der Fehler entsteht, da PHP zum Erstellen der Session ein temporäres Cookie anlegen muss. Diese Informationen stehen im HTTP-Header, der vom Server vor der eigentlichen Datei an den Browser schickt. Wenn du nun aber vorher schon Teile der Datei überträgst, beendest du damit bereits den HTTP-Header - und so hat der Server keien Chance mehr, sein Cookie zu senden…
Einen großartigen Sicherheitsunterschied zwischen Cookies und Sessions gibt es nicht, da die PHP-Sessions ebenfalls (in den meisten Fällen) Cookies benutzen
Der Unterschied ist lediglich wo die Daten der Globalen $_SESSION gespeichert werden. Man könnte auch auf die PHP-Internen Sessions verzichten, und sein eigenes kleines Sessionscript basteln, welches die Daten per MySQL abfragt.
Das bietet dann den Vorteil, dass man die Sessiondaten unmittelbar mit dem Benutzerprofil verknüpfen kann.
Das benutzen von ob_start etc. ist eine der unschöneren Methoden (imho). Man sollte schon dazu in der Lage sein, PHP und HTML vernünftig voneinander zu trennen, dass solche Konflikte gar nicht erst entstehen.
@Mgier:
es gibt einige Texteditoren, die setzen ein sogenanntes BOM (Byte Order Mark, bestehend aus drei Zeichen) an den Anfang der Datei, wenn man den Editor auf UTF-8 gestellt hat. Diese Markierung dient unter anderem dazu, damit andere Editoren sofort erkennen, dass es sich dabei um ein UTF-8 kodiertes Dokument handelt, sorgt aber bei PHP für Probleme, da es somit eine Ausgabe vor dem “<?php” tag gibt.
@fw_lighting
Gute erklaerung hab mich auch schon gefragt wiso man kein zeichen vor dem php tag setzen darf
Ansonsten
Seesions sind sicherer aber haben den Nachteil das sie zu ende sind wenn der Browser geschlossen wird!