Tach!
Über $_SESSION hast du nur auf die Daten der einen Session zugriff
Da habe ich mich dann wohl falsch ausgedrückt.
Oder einen Denkfehler im Konzept - vielleicht auch zusätzlich.
Die ID wird über folgenden Code auf der Startseite erzeugt, da ich schon mehrfach gelesen habe, dass die IDs, die PHP erzeugt, nicht immer 100% sicher sein sollen:
Du bekommst mit keiner Methode eine 100%-Sicherheit hin. "Nicht sicher" bei einer Session-ID kann nur bedeuten, dass sie zu leicht erratbar ist. Ansonsten ist mit einer ausreichend hohen Anzahl an Versuchen jede ID erratbar. Es wird nur irgendwann unwirtschaftlich, sie durchzuprobieren. (Wobei man dabei nicht immer von der Maximalzahl an Möglichkeiten ausgehen muss, rein zufällig könnte man die ID ja auch schon beim ersten Versuch erraten, wenn das auch sehr unwahrscheinlich ist.)
Letztlich würde ich einfach auf PHP vertrauen. Dein Anwendungsfall ist anscheinend nur ein Shop und nicht Fort Knox. - Und glaub nur solchen Aussagen etwas, bei denen eine nachvollziehbare Begründung dabeisteht.
Mein Gedanke war dann folgender:
- Erzeugung der ID und Festlegung der Session mit dieser ID als Einstiegselement
Dann musst du diese ID auch als Session-ID verwenden und nicht innerhalb einer PHP-Session eine weitere ID hinzufügen. Schon ein simples foreach reicht aus, um deine in $_SESSION abgelegte ID zu finden - wenn dir jemand Code unterjubeln kann. Das bringt dir außer einer Verkomplizierung des Vorgangs keine Punkte.
Aber angenommen, du nimmst wirklich deine neue ID als PHP-Session-ID, dann hilft die gegen außenstehende Angreifer. Wer schon im System ist, kann sich auch über Dateizugriffe im session.save_path die Daten anschauen.
Du kannst als Key auch die Variable notieren, dann wird ihr Inhalt als Schlüssel verwendet
D.h. ich muss dann $_SESSION[$ID] statt $_SESSION['ID'] notieren?
Gemäß deines jetzigen Konzepts: ja.
- Abgelegte Artikel mit deren Bezeichnung als Festlegung der nächsten Ebene
Letztendlich soll pro Besucher folgende Struktur erzeugt werden:
Hier gilt daselbe Prinzip wie bei der ID.
dedlfix.