Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Session-ID beim Login-System

Eine Möglichkeit ein Login-System einzurichten ist unter Verwendung von Cookies. Auf diese jedoch wollte ich verzichten.
Deshalb habe ich ein Login-System mit Sessions programmiert, welches auch funktioniert. Nun wird die Session-ID bei jedem Klick weitergegeben und ist in der Adressleiste sichtbar.
2 Fragen:

1. Wie bekommt man es sinnvoll hin die Session-ID nicht im Browser ersichtlich zumachen?

2. Welche anderen Möglichkeiten gibt es ein Login-System mit php zu programmieren?

Hier gehts zum Orginal Eintrag "Session-ID beim Login-System" im Forum

Antworten

Hi,
Du kannst die Sessions als Cookie speichern schau dir dazu session_start(); mal genauer an!
Aber eine möglichtkeit es komplett unsichtbar zumachen geht nicht da der server die infos ja irgendwo herholen muss und das geht nunmal nur entwerder wie du es gemacht hast oder mein Vorschlag die session als cookie zu speichern!

MFG troja0125


2.

Solange der Browser geöffnet ist, bleibt (bei mir zumindest) die Session erhalten und ich muss auch keine Session-IDs innerhalb meiner Module weitergeben.


3.

Mensch, ich hab doch extra erwähnt, dass ich keine cookies verwenden möchte.

Helmchen, das interessiert mich jetzt, wie das gehen soll, denn bei mir bin ich sofort ausgeloggt wenn ich auf einen Link klicke, der die Session-ID nicht weitergibt.


4.

Die SessionID kann nur mit Cookies, in der URL oder in hidden Formfields weitergegeben werden!!
Es gibt keine Alternative!!



Zitat:
Mensch, ich hab doch extra erwähnt, dass ich keine cookies verwenden möchte.
Gibts dafür auch einen Grund?
Ich halte das nämlich für Unsinnig!!


5.

Ich habe eine index.php, an deren Anfang ich eine Session starte. Dann include ich die jeweilige Datei (standardmäßig die Logindatei). Wenn meien Angabe richtig sind, werde ich eingeloggt, d.h. ich erstelle die Sessionvariable "name", mit dem Wert meines Namens. Wenn diese Variable existiert, komme ich auf die normale "Eingeloggt-Startseite", die auch alle Links (zu den Modulen) enthält. In den jeweiligen Modulen prüfe ich auch noch einmal auf die Sessionvariable "name" und, wenn sie existiert, wird der Inhalt angezeigt. Bei mir wird also eigtl. alles weitergegeben, was ich benötige und wen nich mich ausloggen will, wer erst die Funktion "session_destroy()", bzw. "$_SESSION=array()" ausgeführt und bin somit nicht mehr eingeloggt.


6.

Danke Helmchen!
Das klingt sehr gut, so ist dann ja auch immer bekannt wer gerade eingeloggt ist. Dann muss ich nur mal schauen wie das mit der Sessionvariable ist, aber das hört sich einfach an.
Noch mal zum Verständnis: Wenn du deine Home URL in die Adressleiste eingibst und Enter drückst, biste immer noch eingeloggt, richtig?
Hingegen wenn du den Browser schießt und neu startest, dann auf die Seite gehst, nicht mehr richtig?


7.

Richtig
Mit Sessionvariable meine ich z.B. $_SESSION['name'].
Ich kann auch gleich Getvariablen in die URL einbauen, um direkt auf ein Modul zugreifen zu können und bin dennoch eingeloggt, weil ja alles über die index.php geleitet wird.


8.

Dann würde man ja die Variable in der Adressleiste sehen, dat wollte ich ja nicht so gerne.
So nun zu Combie: Meine Frage ist siehst du ja oben beschrieben, hier geht es nicht um Cookies, mit denen geht das ja auch, aber das weicht vom Thema dieses Threads ab wollte was über Sessions erfahren. Außerdem haben einige Internetnutzer das Setzen von Cookies deaktiviert, und das Einloggen soll doch schließlich für alle funktionieren.


9.

Du kannst deine Modulaufrufe ja auch ohne GET regeln, aber das ist eigtl. der Standard (z.B. "index.php?module=news&id=3").


10.

Sessions und Login hab erst einmal NIX miteinander zu tun !

Die Session beschreibt die Sitzung, die Verbindung zwischen Server und Client.

Um eine Session zu nutzen muß die SessionID übergeben werden.

Das macht php für Dich.

Du mußt lediglich session_start() zu Beginn der Scripte schreiben.

-----

so - und "Login" ist lediglich ein Zustand den Du ermittelst (z.B. per Passwortabfrage)
und den du Dir merkst.

Du kannst Dir das praktischerweise in der Session merken: $_SESSION['LoggedIn'] = "ok"
und diesen Zusatnd kannst Du dann in jedem Script auf das der User zugreifen will abfragen.

--------

Zu Deinem kindlichen "Ich will aber keine Cookies" und "Ich will aber, daß man die SessionId nicht sieht":
ne ... da sag ich besser nix ...


11.

Gut danke, Thema kann beendet werden.
(Nur mal so um das letzte Wort zu haben)


Hier gehts zum Orginal Eintrag "Session-ID beim Login-System" im Forum
 
phpforum.de | Impressum