Übergabe von Session-ID / Variablen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Übergabe von Session-ID / Variablen

    Hallo Zusammen,
    dies ist mein erster Beitrag im PHP Forum und ich habe noch nicht besonders viel Erfahrung mit PHP. Ich habe bereits das Forum nach entsprechenden Beiträgen durchsucht, aber nichts wirklich passendes gefunden....

    Mein Problem ist folgendes:
    Auf einer Auswahlseite ordne ich beliebig viele Bilder (werden aus einem Verzeichnis gelesen) über zwei for- Schleifen in einer 4 Zellen breiten und beliebig hohen Tabelle an. Bei Klick auf ein Bild wird auf eine Seite mit einer Einzelbildansicht verwiesen und dabei die jeweilige Bild ID weiter gegeben, damit auf der Seite Einzelbildansicht das korrekte Bild dargestellt werden kann.
    Auf der Auswahlseite wird die Bild ID bei jedem Schleifendurchlauf aus einer SQL Datenbank gelesen und in die URL als Variable eingefügt.
    Das hat bisher prima funktioniert, solange keine Session im Spiel war. Der Aufruf sah dann z.B. folgendermaßen aus:

    <a href="Einzelbildansicht.php?<?php print($BildID);?>"><img src=<?php print($Thumbs);print(htmlspecialchars($bildname));?>

    Nun soll die Seite aber auch nach einem Login (Session) genau gleich funktionieren. Dabei möchte ich unbedingt vermeiden Cookies zu setzen und übergebe daher die Session ID über die URL.

    Das Problem, bei dem ich nicht weiter komme, ist nun, dass ich bei einer Session meines Wissens nur Session-Variablen übergeben kann. Wenn ich allerdings die Bild IDs bei jedem Schleifendurchgang in eine Sessionvariable schreibe steht am Ende die zuletzt ausgelesene ID darin und nicht für jede Bild-URL eine eigene.

    Eine Lösung wäre sowohl die Session ID als auch die "normale" id (xxx.php?id=...) zu übergeben. Allerdings habe ich noch nirgendwo einen Hinweis darauf gefunden, dass das möglich ist.

    Hat vielleicht jemand eine Idee wie ich das Problem ohne Cookies lösen könnte?

    Vielen Dank im Voraus für Eure Hilfe!

    Gruß

    Andi

  • #2
    Und wieso muss die Bild-ID unbedingt in ne Session rein? Ich würde sie immer noch als GET-Parameter übergeben
    PHP-Code:
    echo '<a href="/deinScript.php?bild=xx&amp;'.strip_tags(SID).'"><img .../></a>'
    Übrigens kannst du beinahe x-beliebig viele Parameter via URL übergeben
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Vielen Dank für Deine schnelle Antwort!

      das ist im Prinzip genau das was ich machen möchte... die Bild-ID zusätzlich zur Session ID als GET-Parameter übergeben. Ich habe das auch schon versucht, allerdings hat es bei meinen Tests nicht geklappt. Offensichtlich war aber nur die Syntax falsch...

      Ich werd's nochmal mit deinem Vorschlag versuchen.

      Gruß
      Andi

      Kommentar


      • #4
        Wichtig: Das & im href muss & amp; sein und nicht einfach &
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Hallo!

          Hast du auch dort wo du die Daten auslesen willst ein session_start(); mit stehen?

          Denn wenn du etwas mit einer Session ID weitergeben oder anders wieder auslesen willst musst damit an dem neuen Ort die Session wieder starten!
          Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
          http://www.lit-web.de

          Kommentar


          • #6
            jahlives: Vielen Dank für den Hinweis!

            itterauspirna:
            ebenfalls vielen Dank für den Hinweis! session_start() habe ich auf jeder Seite. Die Übergabe der Session ID hat mit dem Bildaufruf auch funktioniert, nur bei der BildID hatte ich Probleme.

            Kommentar


            • #7
              Hat super funktioniert!! Jetzt bin ich einen entscheidenden Schritt weiter...

              nochmal vielen Dank!

              Gruß

              Andi

              Kommentar


              • #8
                Kennst du schon session.use_trans_sid ?
                Wir werden alle sterben

                Kommentar


                • #9
                  Kennst du schon session.use_trans_sid ?
                  Würde ich ned verwenden Funzt nur schon nicht wenn du eine Session ID von http://domain.de auf https://domain.de übertragen willst. Ich verwende eigentlich immer die Konstante SID, die automatisch leer ist wenn ein Session Cookie gesetzt wurde.
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    Funzt nur schon nicht wenn du eine Session ID
                    Funzt nur mit relativen urls.
                    Steht aber auch so im Handbuch.
                    Und wenn Cookies aktiviert sind macht Trans_sid auch nix.....

                    PS:
                    Ich halte SID in der URL für eine der größten Sicherheitslücken im Sessiongeschäft.
                    Wir werden alle sterben

                    Kommentar


                    • #11
                      PS:
                      Ich halte SID in der URL für eine der größten Sicherheitslücken im Sessiongeschäft.
                      Ohne Cookies und POST steht dir aber keine andere Möglichkeit mehr zur Verfügung! Und im Grunde ist jahlives Ansatz genau wie use_trans_sid, nur halt per Hand und damit unabhängig dieser Konfiguration.

                      Kommentar


                      • #12
                        Ein Glaubenskrieg um nix!!
                        Klasse! Wie ich das liebe

                        Also weiter im Text:
                        Ohne Cookies und POST steht dir aber keine andere Möglichkeit mehr zur Verfügung!
                        Das brauchst du mir nicht zu sagen!


                        und damit unabhängig dieser Konfiguration.
                        Der TE sagt allerdings:
                        Dabei möchte ich unbedingt vermeiden Cookies zu setzen
                        Also MUSS er sowieso konfigurieren!
                        Weil standardmäßig sind Cookies auf on.
                        Und den einen Schalter mehr zu betätigen, tut ja wohl nicht weh.

                        nur halt per Hand
                        Lieber ein fehlerträchtigen händisches Gefummel in dutzenden von Dateien, als das einem Automaten, der extra für diesen Zweck erfunden wurde, zu überlassen.
                        Finde ich ein bisschen komisch, diesen Ansatz...


                        Und, was ich von Cookieverweigeren im allgemeinen halte, habe ich in diesem Artikel kund getan:
                        session Sicherheit
                        Wir werden alle sterben

                        Kommentar

                        Lädt...
                        X