[PHP, MYSQL] Rechten aan mappen van gebruikers uit db

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een vraagje:
Kun je m.b.v. Mysql gebruikersrechten ontlenen aan mappen en de bestanden die zich in de mappen bevinden?
Ik heb een database met gebruikers en per gebruiker is er een map maar die moet ook alléén voor die gebruiker toegankelijk zijn.
Dus niet dat ik als 'niet'-gebruiker de url kan intypen en ik bij de bestanden uit die mappen kan komen.

Weet iemand hier een oplossing voor?

Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Chown en chmod gebruiken?
Zal niet zo makkelijk met mysql alleen gaan iig, met de mysql client kan je wel commando's uitvoeren maar dan gaat het nog handmatig.
Kijk hier eens: http://php.net/manual/en/ref.exec.php

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 05 november 2004 @ 22:59:
Ik heb een vraagje:
Kun je m.b.v. Mysql gebruikersrechten ontlenen aan mappen en de bestanden die zich in de mappen bevinden?
Ik heb een database met gebruikers en per gebruiker is er een map maar die moet ook alléén voor die gebruiker toegankelijk zijn.
Dus niet dat ik als 'niet'-gebruiker de url kan intypen en ik bij de bestanden uit die mappen kan komen.

Weet iemand hier een oplossing voor?
Je zou een .htpasswd file kunnen genereren op basis van de data die je in je MySQL database hebt?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 17-09 20:52

ripexx

bibs

Er is bij mij weten een mogelijkheid om de beveiliging van je directory's via MySQL te laten lopen maar dat wil je eigenlijk niet. Het gaat dan om de beveiliging als je het bekijkt via apache. Als je echt mappen/directory's nodig hebt dan wordt het een lastig verhaal. Kan je niets doen met virtuele directories en dan mod_rewrite of multiviews gebruiken. En dan met een stuk code het faken?

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
mm daar wordt ik niezo wijs uit :/

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 05 november 2004 @ 23:05:
mm daar wordt ik niezo wijs uit :/
Dat komt omdat je je daar in 2 minuten tijd niet in verdiept kan hebben. :/

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 17-09 20:52

ripexx

bibs

Verwijderd schreef op 05 november 2004 @ 23:05:
mm daar wordt ik niezo wijs uit :/
Je moet even een paar dingen los zien. Als ik je TS vol dan heb je het over een url en dan denk ik dat je dus werkt met Apche of IIS oid.

Voor rechten zijn er een aantal belangrijek zaken, ten eerste zijn er de filesystem rechten en en account waaronder de webser draait. Die bepalen ten eerste wie toegang heeft tot waar op het filesystem. Dan wil je zelf er nog een laag tussen leggen die gaat bepalen wat je wel en niet mag zien. Dit kan je dus niet op file system niveau afhandelen dus je zal er een laag tussen moeten zetten. Deze gegevens wil je opslaan in een database. u moet je dus een vertaal slag maken. Dat kan je doen met .htaccess files per directory, eigen fake filesystem schrijven of ergens vandaan vissen?

Dus maak gewoon eerst eens goed duidelijk wat je wilt want waarschijnlijk zijn er veel eenvoudigere oplossingen denkbaar ;)

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
NMe84 schreef op 05 november 2004 @ 23:06:
[...]

Dat komt omdat je je daar in 2 minuten tijd niet in verdiept kan hebben. :/
Nee maar ik heb al eens geprobeerd om met exec te werken, maar dat lukt me voor geen meter

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
@ripexx:
Je hebt wel gelijk, en ik draai onder apache.
Maar ik heb het wel duidelijk voor mezelf.
Een gebruiker of gebruikersgroep moet zijn eigen map kunnen lezen en beheren.
En deze mappen moeten van buitenaf niet benaderbaar zijn.
Dus met andere woorden, ze moeten zijn ingelogd om bij de map te kunnen komen.

Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 17-09 20:52

ripexx

bibs

Verwijderd schreef op 05 november 2004 @ 23:14:
Je hebt wel gelijk, en ik draai onder apache.
Maar ik heb het wel duidelijk voor mezelf.
Een gebruiker of gebruikersgroep moet zijn eigen map kunnen lezen en beheren.
Als je nu files los ziet van bestanden met bestandsnamen ;) Maak een directory aan en maak een upload en download mogelijkheid. Maak mogelijkheid om mappen aan te maken en doe dit allemaal virtueel. :)
En deze mappen moeten van buitenaf niet benaderbaar zijn.
Dus met andere woorden, ze moeten zijn ingelogd om bij de map te kunnen komen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
tabel files
file_id
map_id
file_name
fs_name
owner_id
group_id
insert date
etc..

tabel mappen
map_id
parent_id
owner_id
group_id

Zorg dat het zaak je met PHP of iets degelijks te benaderen is en laat alleen de mappen zien die bij een gebruiker of groep horen ;) Dan ben je flexibel. Alles is virtueel en alle bestanden staan gewoon in een directory.

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
thnx ripexx, ik denk dat ik daar wel wat mee kan.
alleen hoe bedoel je:

Maak mogelijkheid om mappen aan te maken en doe dit allemaal virtueel.

Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 17-09 20:52

ripexx

bibs

Verwijderd schreef op 05 november 2004 @ 23:25:
[..]
Maak mogelijkheid om mappen aan te maken en doe dit allemaal virtueel.
Zorg er gewoon voor dat je alles via de DB doet ;) Daarnaats kan je ook zaken als file size in de DB loggen en zelfs zaken als revisies gaan bijhouden. Je hebt alles zelf in de hand :P

Virtueel is dat de gehele map structuur in je database staan. Daarnaast zijn er zat truckjes om met trees in een relationeel model te werken. Files hangen aan een map en zowel files als mappen zijn gekoppeld aan users/groepen. Je moet alleen evenhet standaard "ik heb een directory met een sub-dir" even los laten. Probeer het in een abstracter geheel te zien, hoe denk je dat een file system werkt :)

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
maar je zegt van de mappen opzichzelf staan gewoon in een directory,
hoe voorkom je dan dat deze van buitenaf beschikbaar zijn?

Acties:
  • 0 Henk 'm!

  • Laurens-R
  • Registratie: December 2002
  • Laatst online: 29-12-2024
Omdat die niet geshared hoeven te zijn voor een andere gebruiker als je ze server side benaderd via PHP... daar kan je met directe paden werken voor het wegschrijven van files...

dus bv:

C:\SITEFILES

of:

/SITEFILES/

vervolgens kan je een file entry maken in de database. Die geef je een virtuele naam en folder en een extra veldje met het daadwerkelijke pad. Op die manier kan je bestanden verdelen over meerdere paden terwijl alle bestanden in het echt gewoon alleen maar in /SITEFILES/ staan of in C:\SITEFILES.
Pagina: 1