PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP & geschützte Bereiche - Konzept


Kinman
2004-02-17, 17:16:02
Hi, ich möchte bestimmte Bereiche einer Homepage Passwortgeschützt haben.
Alles sollte rein über PHP (& MySQL) laufen, d.h. kein ht access.

Meine Ideen waren bisher ganz einfach:
Benutzer & Passwort DB (Passwort verschlüsselt)
und über einen Login benutzer & pw abfragen.
Soweit kein Problem. Nur das Passwort wird (wenn auch verschlüsselt) in der Adtress-Leiste sichtbar und bleibt im Verlauf gespeichert.
Daher hätte ich gern Denkanstöße wie so etwas am einfachsten und halbwegs sicher (nicht jeder Laie sollte sich gleich wieder einloggen können) realisiert werden kann.

Meine Anforderungen ;)
- Nach möglichkeit nicht alles in einer php Datei
- mehrer Benutzer


Für Denkanstöße wäre ich sehr dankbar,
mfg Kinman

RoKo
2004-02-17, 18:53:06
Mit Sessions:
Wenn sich der Benutzer erfolgreich mit seinem Passwort eingeloggt hat, wird eine neue Session für ihn angelegt, mit einem Zufallspasswort, das mit der Sessionnummer in eine Datenbank wandert - das wird dann über die Links mitgeschleppt und landet in der Adresszeile.
Der Trick: Bei der Sessionnummer wird gespeichert, wann sie das letzte mal genutzt wurde. Ist mehr als eine halbe Stunde vergangen, wird der Zugriff verweigert und die Session gelöscht.

Ich weiß nicht, ob das die übliche, professionelle Vorgehensweise ist, aber so hatte ich mir das mal zurechtgereimt.

Gast
2004-02-17, 19:11:29
zusätzlich könnte man noch versuchen die sesseionnummer als cookie zu setzen. wenn das möglich ist, muss die dann nicht mehr in der adresszeile erscheinen.

Kinman
2004-02-17, 20:31:02
danke fürs erste ;)

ich hoffe das mit sessions ist nicht so kompliziert ;)

Wenn jemand noch eine Möglichkeit kennt, plz posten

grakaman
2004-02-17, 21:23:41
Original geschrieben von Kinman
Hi, ich möchte bestimmte Bereiche einer Homepage Passwortgeschützt haben.
Alles sollte rein über PHP (& MySQL) laufen, d.h. kein ht access.

Meine Ideen waren bisher ganz einfach:
Benutzer & Passwort DB (Passwort verschlüsselt)
und über einen Login benutzer & pw abfragen.
Soweit kein Problem. Nur das Passwort wird (wenn auch verschlüsselt) in der Adtress-Leiste sichtbar und bleibt im Verlauf gespeichert.
Daher hätte ich gern Denkanstöße wie so etwas am einfachsten und halbwegs sicher (nicht jeder Laie sollte sich gleich wieder einloggen können) realisiert werden kann.

Meine Anforderungen ;)
- Nach möglichkeit nicht alles in einer php Datei
- mehrer Benutzer


Für Denkanstöße wäre ich sehr dankbar,
mfg Kinman

Warum speicherst du das Passwort (verschlüsselt) und ggf. Rollen des Benutzers nicht in einem Cookie? Dann authentifizierst du den Benutzer in jeder Seite und zeigst ihm ggf. nur die Bereiche, über deren Rollen er verfügt.
Aber das hängt auch alles ganz stark vom Einsatzgebiet ab, wobei du mit PHP und Mysql eh kein vernünftiges Applikationsdesign, geschweige ernsthafte Applikationen, realisieren kannst. Da kannst du also ruhig Sessions einsetzen. Ansonsten sollte man Session State vermeiden, sofern man ihm nicht in einer Datenbank speichern kann, da man sonst keine Chance hat zu vernünftig horizontal zu skalieren.

MfG

Kinman
2004-02-17, 22:08:45
thx
Anwendungsbereich:
Es ist eine Website mit allen drum und dran ;) z.B. News.
Und bestimmte Personen sollen eben in einen pw-geschützten Bereich kommen in dem sie u.A. news posten können, usw.

mfg Kinman

medi
2004-02-19, 00:44:46
php+cookies

einloggen lassen und ein cookie über SetCookie(...) mit den namen und verschlüsselten pw "md5(passwort)" anlegen. dann auf jeder seite den user abfrage über zb
switch($cook_access){
case 'Martin' : $rechte = 9;break;
default : $rechte = 0;
}

wobei du die rechteabfrage am besten über ne include anweisung in die seiten einbindest um nicht jedesmal alle seiten überarbeiten zu müssen wenn sich da was ändert.
sql brauchst du bei dieser version nicht unbedingt...kompfortabler ist es natürlich mit ;)

Kinman
2004-02-19, 19:47:22
hey, super, danke...so is das etwas einfacher ;)

Kinman
2004-02-24, 19:36:04
hmm... ich habe jetz viel gesucht / gelesen, aber nirgendwo war klar definiert wie ich die setcookie funktion so verwenden kann, dass das cookie nach beenden des browser gelöscht wird und sonst nicht (zumindest nicht innerhalb x sekunden (eher stunden ;) )).
Wär nett, wenn mir das hier jemand ganz kurz zeigen kann.

Danke, mfg Kinman

Flipper
2004-02-29, 04:49:44
http://php.planetmirror.com/manual/en/function.setcookie.php

Auszug aus den Parametern:
time()+60*60*24*30 will set the cookie to expire in 30 days. If not set, the cookie will expire at the end of the session (when the browser closes).

Kinman
2004-02-29, 14:37:49
danke ;)