Peter Thomassen: Warum darf nur ein PHP-Script auf eine Session zugreifen?

Hi,
in http://forum.de.selfhtml.org/archiv/2002/4/10118/ habe ich genau
das schon mal gefragt. Jemand hat geschrieben, er habe es getestet,
es geht aber nicht! Es darf immer nur ein PHP-Script auf eine Ses-
sion zugreifen! Kann man dagegen etwas tun?

Danke,
Peter

  1. N'Abend

    in http://forum.de.selfhtml.org/archiv/2002/4/10118/ habe ich genau
    das schon mal gefragt.

    Blöde Sache, das Forum behauptet, der Thread existiert net, obwohl er in der Übersicht drin ist ...

    <sing>
    Ein Bug, ein Bug ...
    </sing>

    Jemand hat geschrieben, er habe es getestet,
    es geht aber nicht! Es darf immer nur ein PHP-Script auf eine Ses-
    sion zugreifen! Kann man dagegen etwas tun?

    Also, soweit ich weiß werden die Session-Dateien mit den Rechten rw-------, also 600 angelegt, und zwar unter dem Benutzernamen, unter dem auch der Apache läuft.
    Deswegen würde ich vorschlagen, PHP oder einen anderen unter dem gleichen Benutzernamen laufenden Prozess einfach die Rechte ändern zu lassen. Dann solltest Du auch auf die Session-Dateien zugreifen können.

    Ciao,

    Harry

    1. Hi,
      ich bin der mit dem verlorgengegangenen Thread :o)

      Also, soweit ich weiß werden die Session-Dateien mit den Rechten rw-------, also 600 angelegt,

      Yo. Stimmt.

      Deswegen würde ich vorschlagen, PHP oder einen anderen unter dem gleichen Benutzernamen laufenden Prozess einfach die Rechte ändern zu lassen.

      Kann ich mir nicht vorstellen, dass das daran liegt, ausserdem kann PHP nicht ausserhalb des Web-Verzeichnisses irgendwelche Schreibrechte aendern, bzw. ueberhaupt auf diese Verzeichnisse per chmod direkt zugreifen. Das wuerde ich auch fuer ein ziemliches Sicherheitsloch halten.

      Wo der Fehler bei der Geschichte von Peter liegt, kann ich nicht sagen. Aber ich habe das wie gesagt getestet. Wenn ich eine Anwendung aufmache, die mit PHP4 Sessions beackert wird, kann ich das Dingens 10 mal mit verschiedenen Seiten aufmachen (natuerlich im gleichen Browser ;o)) und trotzdem fliege ich nicht raus, obwohl ja auf jeder Seite ueber jeweils ein anderes Script zu Beginn die Session und eine Session-Variable abgefragt wird. Und das finde ich auch voellig logisch so. Die Session ist da, sie ist valide, die Session-Variable ist auch da und die Session Id wird auch von Seite zu Seite weitergereicht. Warum sollte ich da nur mit einer Seite drauf zu greifen koennen? Ist doch nicht so, dass die ID laufend neu geschrieben wird, sondern sie wird ja nur einmal zu Beginn der Session generiert und die Session Variable (so vorhanden) wird reingeschrieben. Danach erfolgt ja nur noch ein Lesezugriff, bzw. eine Abfrage der Variablen.
      Liegt bestimmt irgendwo anders der Fehler. Ansonsten frage doch mal bei php-center.de oder in der PHP-NG an. Vielleicht kann da ja jemand helfen.

      Gruesse
      Ralf

      1. N'Abend !

        Deswegen würde ich vorschlagen, PHP oder einen anderen unter dem gleichen Benutzernamen laufenden Prozess einfach die Rechte ändern zu lassen.

        Kann ich mir nicht vorstellen, dass das daran liegt, ausserdem kann PHP nicht ausserhalb des Web-Verzeichnisses irgendwelche Schreibrechte aendern, bzw. ueberhaupt auf diese Verzeichnisse per chmod direkt zugreifen. Das wuerde ich auch fuer ein ziemliches Sicherheitsloch halten.

        Nö. Ein Verzeichnis gibt es, da darf jeder reinschreiben (meistens): /tmp
        Und genau da legt PHP ja auch seine Session-Dateien an ...

        Warum sollte ich da nur mit einer Seite drauf zu greifen koennen?

        Äh ganz versteh ich den Zusammenhang zwar net (wahrscheinlich steht das in dem verlorenen Thread), aber natürlich kannst Du beliebig oft mit beliebig vielen Seiten auf die Session zugreifen, solange nur die ID gültig ist ...

        Ist doch nicht so, dass die ID laufend neu geschrieben wird, sondern sie wird ja nur einmal zu Beginn der Session generiert und die Session Variable (so vorhanden) wird reingeschrieben. Danach erfolgt ja nur noch ein Lesezugriff, bzw. eine Abfrage der Variablen.

        Nicht unbedingt. Schreibzugriff ist auch noch dabei.

        Ciao,

        Harry

        1. Hi,

          Äh ganz versteh ich den Zusammenhang zwar net (wahrscheinlich steht das in dem verlorenen Thread), aber natürlich kannst Du beliebig oft mit beliebig vielen Seiten auf die Session zugreifen, solange nur die ID gültig ist ...

          Via Cookie & URL-Parameter. Ihr habt da aber anscheinend beide
          was nicht richtig verstanden; vielleicht habe ich es auch nicht
          gut rübergebracht: Es geht um einen Chat, und dieser hat eine
          output.php mit _unbegrenzter_ Laufzeit, und sie greift auf die
          Session zu. Während output.php läuft, also, während der Server
          mit dem Client konnektiert ist (danach wird das Script ja abge-
          brochen) kann ich nicht mit einem anderen Script in einem neuen
          Tab/Fenster auf die Session zugreifen! Ist das richtig oder
          falsch? Bei Scripts mit begrenzter Laufzeit (wenn eben alle Ak-
          tionen durchgeführt sind) habe ich keine Probleme, output.php
          besteht aber aus einer Endlosschleife, die alle 100 ms in der
          Datenbank nach neuen Messages guckt.

          Danke,
          Peter

  2. Hi,
    in http://forum.de.selfhtml.org/archiv/2002/4/10118/ habe ich genau
    das schon mal gefragt. Jemand hat geschrieben, er habe es getestet,
    es geht aber nicht! Es darf immer nur ein PHP-Script auf eine Ses-
    sion zugreifen! Kann man dagegen etwas tun?

    Hi,

    also das nur ein PHP-Script drauf zugreifen kann/darf ist schlicht und einfach SCHROTT.

    Erstmal muss du dir klarmachen welche art der Session PHP gerade hat und wie die Daten gespeichert werden. (Cookies, SessionID in URL - Daten in DB,SessionID bzw wichtige merkmale in URL direkt)

    Je nachdem wie die Daten dann vorhanden sind kannst du dann auch mit anderen Interpretern wei PERL, PYTON etc darauf zugreifen wobei die Rechte aber dies zulassen bzw. der jeweilige interpreter unter dem gleichen USER laufen müssen.

    mfg

    Korbinian Bachl
    www.whiskyworld.de