kostenloser Webspace werbefrei: lima-city


Cookies? Sessions?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    lagerhaus

    Kostenloser Webspace von lagerhaus

    lagerhaus hat kostenlosen Webspace.

    Hallo,
    ich m?chte w?hrend des Surfens im eingeloggten Bereich den User identifizieren. Was w?rdet ihr vorschlagen?
    Cookies? Sessions? Die IP-Adresse? Was anderes?
    Warum w?rdet ihr das w?hlen? Habt ihr mit einem System gute oder schlechte Erfahrungen gemacht?

    MfG lagerhaus
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. p**h

    cookies und ip
  4. hm... hat denke ich vor- und nachteile

    cookies akzeptieren immer weniger aller user. daher is fraglich ob jeder die seite "in vollem ma?e" anschauen kann. sessions is glaube ich nicht abh?ngig von den einstellungen des users.

    ich selbst hab mal n eigenes login geschrieben, wo mit jedem link sozusagen ne "sid" (session id) mitgesendet wird. daran wurde dann der user wieder erkannt. ?hnlihc, oder genauso funkt das ja auch mit sessions, nur da hat man doch glaub ich wieder die sache, mit dem header, oder? das das vor JEDER jeglichen ausgabe gestartet werden muss, genauso wie bei den cookies.

    bei dem selbst geschriebenen ist das unrelevant.

    aber, wie gesagt, alles vor- bzw nachteile, meiner meinung nach.

    mfg
  5. c*********c



    lagerhaus schrieb:
    Hallo,
    ich m?chte w?hrend des Surfens im eingeloggten Bereich den User identifizieren. Was w?rdet ihr vorschlagen?
    Cookies? Sessions? Die IP-Adresse? Was anderes?
    Warum w?rdet ihr das w?hlen? Habt ihr mit einem System gute oder schlechte Erfahrungen gemacht?

    MfG lagerhaus


    Nimm SessionID und Datenbank!

    Denn Cookies kann man f?lschen und die IP kann durch einen Proxy verf?lscht werden, ausserdem ?ndert die sich nach jedem Reboot des Modems ...

  6. Autor dieses Themas

    lagerhaus

    Kostenloser Webspace von lagerhaus

    lagerhaus hat kostenlosen Webspace.



    Nimm SessionID und Datenbank!




    Also, ich muss doch dann mit jedem Link die SessionID mitgeben, oder?
    Was meinst du mit Datenbank? Meinst du, dass ich nur wenige Variablen mitgebe und dann die "fehlenden" aus der Datenbank hole?

    Danke!

    MfG lagerhaus
  7. c*********c



    lagerhaus schrieb:


    Nimm SessionID und Datenbank!




    Also, ich muss doch dann mit jedem Link die SessionID mitgeben, oder?
    Was meinst du mit Datenbank? Meinst du, dass ich nur wenige Variablen mitgebe und dann die 'fehlenden' aus der Datenbank hole?

    Danke!

    MfG lagerhaus


    Wenn der Besucher Cookies akzeptier, so wird die SessionID nur einmal an die URL angeh?ngt. Ansonsten wird sie immer per URL ?bergeben.

    ok, aber wen st?rt das :wink:

    Zu der Datenbank:
    Mach es so, dass ALLE eingeloggten User (optional auch Besucher) in der Datenbank gespeichert werden!

    Beispiel:
    Ein User kommt mit der SessionID 23hf524s6aq8 in der URL angerennt und will in den internen Bereich.
    Du ?berpr?fst, ob sich ein Eintrag in der Datenbank befindet, welcher dieselbe SID hat.

    Wenn eine gleiche SessionID gefunden wurde, so gilt der User als eingeloggt, ansonsten gelangt er nicht in den internen Bereich.




  8. lagerhaus schrieb:


    Nimm SessionID und Datenbank!




    Also, ich muss doch dann mit jedem Link die SessionID mitgeben, oder?
    Was meinst du mit Datenbank? Meinst du, dass ich nur wenige Variablen mitgebe und dann die 'fehlenden' aus der Datenbank hole?

    Danke!

    MfG lagerhaus


    Wenn der Besucher Cookies akzeptier, so wird die SessionID nur einmal an die URL angeh?ngt. Ansonsten wird sie immer per URL ?bergeben.

    ok, aber wen st?rt das :wink:

    Zu der Datenbank:
    Mach es so, dass ALLE eingeloggten User (optional auch Besucher) in der Datenbank gespeichert werden!

    Beispiel:
    Ein User kommt mit der SessionID 23hf524s6aq8 in der URL angerennt und will in den internen Bereich.
    Du ?berpr?fst, ob sich ein Eintrag in der Datenbank befindet, welcher dieselbe SID hat.

    Wenn eine gleiche SessionID gefunden wurde, so gilt der User als eingeloggt, ansonsten gelangt er nicht in den internen Bereich.




    genau so meine ich das doch auch ;-)
    das is meiner meinung nach die einfachste variante.
  9. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Na ja, nur ein Denkansto?:

    Ich hab mir eine Art Session-System mit einer My-SQL-Datenbank gebaut...
    Wenn man sich einloggt, wird ein Eintrag erstellt, wenn man sich ausloggt, wird er wieder gel?scht...
    So einfach geht das...

    Funktioniert auch ganz gut, bis auf ein paar Sachen:
    Den automatischen Logout mnach einer best. Zeit gibts noch nicht und auch ein paar andere Features funktionieren noch nicht bzw. sind noch nicht eingebaut!
  10. Autor dieses Themas

    lagerhaus

    Kostenloser Webspace von lagerhaus

    lagerhaus hat kostenlosen Webspace.



    Wenn der Besucher Cookies akzeptier, so wird die SessionID nur einmal an die URL angeh?ngt. Ansonsten wird sie immer per URL ?bergeben.

    ok, aber wen st?rt das :wink:



    Also muss man in die ersten Links von der "Erfolgreich-eingeloggt-Seite" mit SessionID als Get-Variable versehen, die anderen (bei Cookies) muss man nicht mehr? Stimmt das so?

    Und wenn keine Cookies angenommen werden, dann muss die SessionID immer ?bergeben werden, bei allen Links?





    Na ja, nur ein Denkansto?:

    Ich hab mir eine Art Session-System mit einer My-SQL-Datenbank gebaut...
    Wenn man sich einloggt, wird ein Eintrag erstellt, wenn man sich ausloggt, wird er wieder gel?scht...
    So einfach geht das...

    Funktioniert auch ganz gut, bis auf ein paar Sachen:
    Den automatischen Logout mnach einer best. Zeit gibts noch nicht und auch ein paar andere Features funktionieren noch nicht bzw. sind noch nicht eingebaut!


    Aber dann wei? man nicht, welcher User das ist. Doch das m?chte ich. (Hab' ich nicht geschrieben, mein Fehler).




    MfG lagerhaus




    EDIT: @Nachposter ranglisten: Doch ich hab's verstanden, das was du geschrieben hast. Ich wei? nur nicht, wie ich den User identifizieren soll.

    Beitrag ge?ndert am 26.08.2005 22:18 von lagerhaus

  11. Na ja, nur ein Denkansto?:

    Ich hab mir eine Art Session-System mit einer My-SQL-Datenbank gebaut...
    Wenn man sich einloggt, wird ein Eintrag erstellt, wenn man sich ausloggt, wird er wieder gel?scht...
    So einfach geht das...

    Funktioniert auch ganz gut, bis auf ein paar Sachen:
    Den automatischen Logout mnach einer best. Zeit gibts noch nicht und auch ein paar andere Features funktionieren noch nicht bzw. sind noch nicht eingebaut!


    jo, und bei jedem seitenaufruf schaust du doch in die db, ob diese session vorhanden ist. in die selbe kontrolle kannst du doch auch folgendes einf?gen.
    jede "session" hat ein expire time, diese kontrollierst du, nat?rlich alle die in der db vorhanden sind. immer wenn jemdn ne seite beritt, oder wechselt, wird dessen expire hochgesetzt (was zu der session passt), is das dann abgelaufen, l?scht das dann sozusagen der n?chste user, wenn die kontrolle kommt. d.h. der l?scht dann alle expire die abgelaufen sind, somit sind die user dann ausgeloggt. verstanden? glaube nich, was?


    @lagerhaus
    Aber dann wei? man nicht, welcher User das ist. Doch das m?chte ich. (Hab' ich nicht geschrieben, mein Fehler).
    das siehst du doch anhand der ?bergebenen sessionid. diese musst du in einer mysql speichern, mit username und so. daran kannst du dann die user identifizieren.
    mfg


    Beitrag ge?ndert am 26.08.2005 22:18 von ranglisten
  12. c*********c



    lagerhaus schrieb:
    [..]
    Aber dann wei? man nicht, welcher User das ist. Doch das m?chte ich. (Hab' ich nicht geschrieben, mein Fehler).
    [..]


    Du kannst in Deiner Tabelle auch Spalten wie Username oder Userid erstellen. Damit kannst Du den Benutzer ganz leicht identifizieren.

  13. lagerhaus schrieb:


    Wenn der Besucher Cookies akzeptier, so wird die SessionID nur einmal an die URL angeh?ngt. Ansonsten wird sie immer per URL ?bergeben.

    ok, aber wen st?rt das :wink:



    Also muss man in die ersten Links von der 'Erfolgreich-eingeloggt-Seite' mit SessionID als Get-Variable versehen, die anderen (bei Cookies) muss man nicht mehr? Stimmt das so?

    Und wenn keine Cookies angenommen werden, dann muss die SessionID immer ?bergeben werden, bei allen Links?


    Ach quak!
    Wer w?rde dazu Lust haben?
    Deshalb macht PHP bzw. der Interpreter das alles ganz alleine. ;)
    Du musst legendlich die Session starten und "f?llen".





    Na ja, nur ein Denkansto?:

    Ich hab mir eine Art Session-System mit einer My-SQL-Datenbank gebaut...
    Wenn man sich einloggt, wird ein Eintrag erstellt, wenn man sich ausloggt, wird er wieder gel?scht...
    So einfach geht das...

    Funktioniert auch ganz gut, bis auf ein paar Sachen:
    Den automatischen Logout mnach einer best. Zeit gibts noch nicht und auch ein paar andere Features funktionieren noch nicht bzw. sind noch nicht eingebaut!


    Aber dann wei? man nicht, welcher User das ist. Doch das m?chte ich. (Hab' ich nicht geschrieben, mein Fehler).


    MfG lagerhaus

    Beitrag ge?ndert am 26.08.2005 22:14 von lagerhaus

    Ok, also ich erkl?rs dir mal, wie ich es machen w?rde :

    Eine Datenbank mit ID |USER | PASSWORD
    1. Ein Login Formular
    2. Eine Seite zum auswerten des Login Forumlars
    3. Auf jeder Seite

    1. Zwei Eingabefelder namens "user" und "password"
    2. Die Daten aus dem Eingabefeld auslesen.
    2.1 Den Usernamen aus der Datenbank ausw?hlen, falls er vorhanden ist. Dann das Passwort auslesen und mit dem ?bergebene Passwort vergleichen.

    2.2 Wenn das ?bereinstimmt, dann eine Session starten mit den Werten :
    USER und PASSWORD
    2.3 Eine Variable namens "$eingeloggt" auf true setzten. Diese wird aber zuerst immer auf false gesetzt, am besten am Anfang des Scrites.
    3. Die Session USER und PASSWORD auslesen und dann wie in 2.1 weiter verfahren.


    Ich hoffe, dass das ganze dir einen kleinen ?berblick verschafft.

    Beitrag ge?ndert am 26.08.2005 22:23 von lucas9991
  14. Autor dieses Themas

    lagerhaus

    Kostenloser Webspace von lagerhaus

    lagerhaus hat kostenlosen Webspace.



    ranglisten schrieb:

    das siehst du doch anhand der ?bergebenen sessionid. diese musst du in einer mysql speichern, mit username und so. daran kannst du dann die user identifizieren.
    mfg



    Ach so, die SessionID muss ich auch ?bergeben. Ja dann ist alles klar. Ich dachte, die Arbeit mit dem st?ndigen "?SID=$sid" eintragen k?nnte mit dem System gespart werden.

    MfG lagerhaus



  15. ranglisten schrieb:

    das siehst du doch anhand der ?bergebenen sessionid. diese musst du in einer mysql speichern, mit username und so. daran kannst du dann die user identifizieren.
    mfg



    Ach so, die SessionID muss ich auch ?bergeben. Ja dann ist alles klar. Ich dachte, die Arbeit mit dem st?ndigen "?SID=$sid" eintragen k?nnte mit dem System gespart werden.

    MfG lagerhaus

    Lesen bildet. :P
    Ich habe doch gerade gesagt, dass das der PHP Interpreter macht...
    Und du nix machen musst.
    Au?er bei Iframes aufpassen, denn dort wird keine Session ID an die URL drangeh?ngt.
  16. Autor dieses Themas

    lagerhaus

    Kostenloser Webspace von lagerhaus

    lagerhaus hat kostenlosen Webspace.

    lucas9991 schrieb:

    Du musst legendlich die Session starten und 'f?llen'.



    Und warum funktioniert das nicht?

    session1.php :
    session_start();
    
    $_SESSION["UserID"] = "20";
    
    echo $_SESSION["UserID"];
    
    echo '<a href="session2.php">Link</a>';
    
    ?>


    session2.php
    session_start();
    
    echo $_SESSION["UserID"];



    Auf der ersten Seite wird 20 ausgegeben, auf der 2. aber nicht. Was ist der Fehler? Wenn man keine SessionID angeben muss......


  17. Mhh.. eingetlich m?sste das klappen!
    Vllt liegt woanders der Fehler?
  18. Autor dieses Themas

    lagerhaus

    Kostenloser Webspace von lagerhaus

    lagerhaus hat kostenlosen Webspace.


    lucas9991 schrieb:
    Mhh.. eingetlich m?sste das klappen!
    Vllt liegt woanders der Fehler?



    Komisch, hier auf Lima geht es, auf meinem Apache zu Hause nicht.
    Ich habe festgestellt, dass ein Cookie gesetzt wird, wenn man ihn zul?sst. Sonst nicht. - Sehr praktisch.



    Danke f?r eure Hilfe, ich benutze Sessions.

    MfG lagerhaus
  19. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!