Hello,
bist Du schon weiter gekommen?
Was ist eigentlich ein passwortgeschützter Bereich? Ist das Speicherplatz, den man nur nutzen darf, wenn man die berechtigung hat, oder sind es HTML-Seiten, die man nur einsehen kann als registrierter User, oder sind es "Ressourcen", dei einem nur als aktuell Berechtigter einsehen kann?
Ist doch eigentlich ganz egal, wo der Stuff herkommt und wohin er geht, oder? Geht den User doch nichts an, wie Du das im Hintergrund handhabst.
Da ist die Datenbank natürlich der beste Aufbewahrungsort für die berechtigugnen und auch für den "Stuff". Blobs (also Bilder und andere große Dateien) sollte man aber nicht direkt in der DB ablegen, sondern nur Ihren Aufbewahrungsort dort abspeichern.
Und das wichtigste, was man schützen muss, sind nicht die Daten als solche, sondern die Zugriffsfunktionen dafür. Ohen Methoden geht nämlich nix. und wenn Du für jeden User prüfst, welche Methode er nutzen darf, lösen sich Deine Probleme Wohlgefallen auf.
Die Session ist übrigens nicht die einfachste und beste Methode düe die Benutzeridentifikation. da werden ganz oft und immer wieder dieselben Fehler gemacht. Insbesondere, wenn es unterschiedliche Berechtigungsstufen gibt.
Am einfachsten ist es mit "Auth401" anzufangen und mit einem Kernscript (index.php). Dieses prüft bei jedem request die beiden Credentials $_SERVER['PHP_AUTH_USER'] und $_SERVER['PHP_AUTH_PW'] gegebn die Datenbank. Dort darf es nur genau einen User mit der Kombination geben und über die Abfrage (Join von zwei Tabellen) ermittelt man dann, welche Scripte der User benutzen darf. Die werden ihm dann als Menupunkte angeboten. Und wenn er mittels Post eines davon auswählt, und man wieder die Berechtigung geprüft hat, ob er es tatsächlich verwenden darf, wird es hinzugeladen und ausgeführt.
Ich hoffe, ich konnte Dir so einen kleinen Einstieg in die Denkweise von "Berechtigungen" geben.
Und nochmal: Sessions haben NICHTS mit berechtigungen zu tun, und ob ein User "angemeldet ist" hat nichts in der Session verloren. Sessions sind bei den meisten Providereinrichtungen von PHP entführbar. Wie das geht, erzähle ich hier aber nicht.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau