eingeloggte user anzeigen

  • Wenn ich den session_start() aufrufe, wird automatisch ein temp-Datei erstellt.
    Ich könnte doch von dieser Datei alle eingeloggten Benutzer mir anzeigen lassen.
    Aber diese Datei hat immer einen seltsamen Namen und ist immer wieder anders.
    Oder muss ich das in eine txt Datei selbst verwalten? Aber dann habe ich das Problem, das die bereits ausgeloggten Benutzer trotzdem angezeicht werden.
    Wie macht man das üblicherweise. Schade, dass es in dem php-kurs.com kein Video dazu gibt.

  • Ja ok, jetzt weiss ich endlich warum diese Datei in dem tmp Ordner so aufgebaut ist.
    Aber wenn ich es selbst verwalte und in txt Datei speichere, dann kann man doch diese Datei auch einfach ansehen?
    Oder wie geht das, das diese keiner lesen kann? Das ist mir noch unklar.

  • Morgen,


    naja, das mit den session dateien währe möglich, aber man macht das etwas anderst,


    hast du eine Datenbank indem deine user stehen ?


    Die einfachste möglichkeit währe dann, eine spalte in die tabelle der user zu setzen,
    z.B so


    aktive_user
    int 32


    darin müsstest du dann immer die letze aktivität des users speichern, also immer
    wenn er etwas auf der Seite macht, setzt du dort den momentanen unix timestamp ein.


    Dann musst nurnoch abfragen welche user die letzten 5 minuten etwas gemacht haben.


    Man könnte, um etwas serverlast zu sparen, die letzten eingetragenen timestamps noch
    in einer Session starten, und dann nur einen update ausführen wenn z.B 3 minuten vergangen sind


    Greetz TimTim

  • Nein, ich habe keine Datenbank. Ich habe ein txt Datei. Das ist dann praktisch meine Datenbank. Die Tabelle der user kann ich doch auch in eine txt schreiben.
    Und das mit der Aktivitaet speichern waere glaube ich nur die 2. beste Loesung. Ausserdem hoert sich das kompliziert an und ich kenne mich damit nicht aus.
    Aber was ich noch gerne wissen will, ob jemand die txt Datei unerlaubterweise betrachten kann.

  • Was heist unerlaubter weise ?


    Es ist nicht verboten sich dateien die im öffentlichen webroot verzeichniss befinden zu betrachten, wenn du nicht willst, das dies jemand sieht, dann musst du es eben verbergen (auserhalb des webroot, oder durch .htaccess)


    Naja, meine möglichkeit ist die die immer genutzt wird, und kompliziert ist das nicht, man kann es allerdings kompliziert machen.


    Mit deiner möglichkeit müsstest eben die letzte aktion des users irgendwo in einer datei speichern, und wieder abgleichen, ob der user noch aktiv ist.


    Aber selbes prinzip wie bei einer mysql DB.


    Greetz TimTim

  • In deiner Textdatei speicherst du doch keine sensiblen Daten, sondern nur welche User online sind, und ich gehe jetzt einfach mal davon aus das du genau das anzeigen willst auf deiner Seite, welche User online sind?

  • Ja, ich speichere in diesem Fall keine sensiblen Daten ab. Aber was mache ich wenn sich ein user dem anderen eine Art E-Mail schreiben will. Nur als Beispiel, und ich speicher das in txt ab, dann sieht das jeder.
    - dann musst du es eben verbergen (auserhalb des webroot, oder durch .htaccess)
    ja, wenn Du mir sagst wie das geht?

  • Zitat von "gerd88"

    Aber was mache ich wenn sich ein user dem anderen eine Art E-Mail schreiben will. Nur als Beispiel, und ich speicher das in txt ab, dann sieht das jeder.


    Wie meinst du das?

  • Wenn 2 user eingeloggt sind und der eine dem anderen eine private Nachricht schreibt, dann speichert man das in eine txt ab und der andere kann das dann lesen.
    user1|user2|Nachricht
    nur user2 kann dann diese Nachricht sehen.

  • Ich denk es geht nur um die Anzeige von eingeloggten Besuchern,


    so kommst du nicht um eine Datenbank herum.


    Gib deiner Textdatei irgendeinen Wirren Namen bestehend aus 32 Zeichen sowohl Buchstaben als auch Zahlen, und dann schützt du das Verzeichnis.
    .htaccess in den Ordner in dem die Datei liegt:

    Code
    Order deny,allow
      Deny from all
  • - und dann schützt du das Verzeichnis.
    Ich weiss wirklich nicht, wie das geht und was ich machen soll. Gibt es irgendwo einen Beispiel-Code dazu, wie man vorgeht?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!