Bestimmte User sollen nur auf bestimmte Verzeichnisse zugreifen können

uwe75-1

Mitglied
Hallo,

ich habe folgendes Problem:

Ich betreibe eine Webseite zum Bildertausch unter meinem Freundeskreis. Bisher ist für jeden angemeldeten user jede Datei sichtbar. Nun haben einige den Wun sch geäußert, daß die Bilder nur für die jenigen sichtbar sind, welche auch tatsächlich an dem Ereignis teilgenommen haben und nicht für den gesamten Kreis.

Meine Überlegungen sind nun folgende:

a) In der MYSQL Tabelle eine Spalte hinzufügen, in der für jeden User, alle Verzeichnispfade genannt sind, zu den der User Zugriff haben darf. Das Feld hatte dann den Tyb TEXT oder BLOB. Hier ist nun meine Frage, ob die Abfrage dann nicht enorm verlangsamt wird?

b) Ich füge der MYSQL Tabelle für jeden Verzeichnispfad eine neue Spalte hinzu und setze für jeden User einen Flag, ob Zugriff erlaubt / nicht erlaubt. Die Tabelle wird natürlich auch recht umfangreich, und habe keine Ahnung wir das Perfomance dann noch läuft?

c) In jedem der Verzeichnisse eine .htaccess und .htpwassword datei erstellen, in der die berechtigten User genannt sind. Meine Seite ist schon mit einem LogIn ausgestattet - Gibt es da eine Möglichkeit, daß der Browser automatisch diese LogIn Daten mit den Informartionen in den .ht* dateien abgleicht und entsprechend dem Zugriff erlaubt / nicht erlaubt?

Selbstverständlich bin ich auch für völlig andere Varianten aufgeschlossen, das waren jetzt erstmal nur meine Einfälle, um das Problem anzugehen.

Vielen Dank im Voraus

Uwe
 
Hi

ich gehe mal nicht davon aus dass dein Freundeskreis über 1000 Leute enthält ;)
Demnach ist es überhaupt kein Perfomance Problem (selbst bei 10.000 Leute nicht), MySQL zu nutzen. Alternativ, wenn es nur wenige sind, kannst du theoretisch auch ein Array mit den Usernamen erstellen, die Zugriff auf das Verzeichnis haben dürfen, und dann Abgleichen.
 
Hi

es wäre noch gut wenn du erklärst wie dein System aufgebaut ist. Da du möchtest, dass die User nur auf bestimme Verzeichnisse zugreifen können, denke ich mal, dass es ungefähr so Aussieht
[Ordner] gallery
-->[Ordner] album 1
-->[Ordner] album 2
-->[Ordner] album n

Du könntest nun in jeden Ordner eine index.php erstellen, mit folgendem Inhalt:
PHP:
$users = array('Hans','Mausi32','Testuser','Peter','Michael');
if( in_array($_SESSION['user'],$users) ) // Vorrausgesetzt in dieser Session wird der username gespeichert, ggf $_COOKIE['user'] oder was auch immer ;-)
  include('album.php'); //Bilder anzeigen
else
  die('Du hast keinen Zugriff auf die Bilder');
 
Und wenn jetzt jeder jedem erlaubt, dann hast du 100 Dateien mit jeweils 99 Einträgen in den Arrays...

Und dann muss ein User wieder entfernt werden...
Na, viel Spaß bei der Wartung ;)
 
Danke für die Vorschläge, ich denke ich werde es über die Datenbank abfragen, scheint mir am übersichtlichsten
 

Neue Beiträge

Zurück