Ergebnis 1 bis 8 von 8

Thema: member id in Session

  1. #1
    Contao-Nutzer
    Registriert seit
    12.02.2010.
    Ort
    Berlin
    Beiträge
    56

    Standard member id in Session

    Hallo,

    In einem per {{file::___}} eingebundenen PHP-Skript benötige ich zur individuellen Datenbankabfrage für das aktuell eingeloggte Mitglied dessen ID.
    Meine Vorstellung: Ich möchte nun die ID des aktuell eingeloggten Mitglieds ermitteln und in der aktuellen Session speichern.

    Kann mir jemand einen Tipp geben, wie ich das anstellen kann?

  2. #2
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    if( FE_USER_LOGGED_IN )
    {
    $objUser = \FrontendUser::getInstance();

    echo $objUser->ID;
    }

    Gesendet von meinem Nexus 7 mit Tapatalk 2
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  3. #3
    Contao-Nutzer
    Registriert seit
    12.02.2010.
    Ort
    Berlin
    Beiträge
    56

    Daumen hoch

    Funktioniert prima.
    Danke für die schnelle Hilfe!

    Ich war etwas voreilig, dennoch danke!
    Folgendes hat funktioniert:

    if (FE_USER_LOGGED_IN)
    {
    $this->import('FrontendUser', 'User');
    echo $this->User->id;
    }

    Jetzt würde ich natürlich gerne wissen, was der Unterschied ist, und weshalb Deine Lösung nichts auswirft.
    Oder habe ich sie falsch eingesetzt?
    Geändert von VolkerS (22.04.2013 um 06:38 Uhr)

  4. #4
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Hallo VolkerS,

    mit dieser Art sehe ich jedoch Sicherheitsprobleme. Denn der "User" könnte die Session mit der ID manipulieren und dadurch dem Script vorgaukeln, es wäre ein anderer Nutzer. Das könnte - vor allem wenn das Script vertrauliche Daten hergibt - eine schwere Sicherheitslücke sein.

    Viele Grüße
    Fabi
    Github-Account: https://github.com/fabil

  5. #5
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.972

    Standard

    Zitat Zitat von VolkerS Beitrag anzeigen
    Jetzt würde ich natürlich gerne wissen, was der Unterschied ist, und weshalb Deine Lösung nichts auswirft.
    Der Unterschied dürfte ContO 2.x (Dein Ansatz) vs. Contao 3.x (vorgeschlagene Lösung) sein.


    bLeibt aber, zu betonen, was von Fabi schon gesagt wurde!

    Was willst Du mit der ID denn überhaupt erreichen? Für eine weitere Datenbankabfragen müsstest Du die ID ja nicht in der Session speichern.
    Geändert von fiedsch (22.04.2013 um 07:22 Uhr)
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  6. #6
    Contao-Nutzer
    Registriert seit
    12.02.2010.
    Ort
    Berlin
    Beiträge
    56

    Standard

    Für einen Dienstplan liegt eine Datenbank vor.
    Jedem Mitglied soll auf die Seite mit dem File-Inserttag eine Abfrage mit den eigenen Daten geliefert werden.
    Dazu wollte ich anhand der entsprechenden ID die Daten herausfiltern.

    Ich bin kein Spezialist, könnte aber sicher mit einem guten Rat etwas anfangen.
    ... und natürlich möchte ich auch nicht mit meinen vielleicht ungelenken Versuchen die Sicherheit der Contao-Installation mindern.

    übrigens:
    ich möchte es gleich zukunftssicher machen: also mit Contao3.
    Geändert von VolkerS (22.04.2013 um 16:26 Uhr)

  7. #7
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Es gibt die Tabelle tl_session, wo die Session zum Mitglied gespeichert ist, dieser SHA Key ist auch in der Session drin, wenn sie das Mitglied eingeloggt hat.

    Wo bei FE_USER_LOGGED_IN auch genau dieses prüft. Befindest du dich in der IF-Schleife, dann solltest du save sein, denn du kannst hier ja immer auf die ID des Benutzers zugreifen. Dann brauchst du auch nix in die Session zu schreiben,

    Gruß Kirsten
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  8. #8
    Contao-Nutzer
    Registriert seit
    12.02.2010.
    Ort
    Berlin
    Beiträge
    56

    Standard

    Hallo Kirsten,

    danke für die Erklärung, wieder ein Groschen gefallen.
    Übrigens funktioniert jetzt auch Dein Beispiel (ist mit obj-Schreibweise kürzer und schicker):
    Lag an der Kleinigkeit: $objUser->ID id kleingeschrieben.

    Vielen Dank auch an Fabi und fiedsch für die Sicherheitshinweise.

    Viele Grüße
    Volker

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •