Avatar billede Slettet bruger
18. maj 2011 - 11:06 Der er 8 kommentarer og
1 løsning

Check af om chmod virker i php

Mine brugere skal kunne ændre rettigheder på forskellige mapper på deres webhotel via et php-script jeg er i gang med at lave.

PHP har mulighed for at bruge chmod, men det virker ikke på alle hosts.
Alternativet er at jeg bruger ftp-funktionen i php, hvilket vil fungere på alle, dog vil jeg gerne undgå at bruge denne hvor det er muligt, da den kræver at ftp-brugeroplysningerne er tilgængelige.

Mit spørgsmål er som følger:
Hvordan kan jeg, via php, afklare om det er muligt at bruge chmod via php, således jeg ikke forsøger at bruge denne model såfremt hosten ikke understøtter dette?

For at chmod skal fungere skal der vel være et eller andet slået til php jeg kan lave en kontrol på?
Avatar billede repox Seniormester
18. maj 2011 - 11:12 #1
Lad være med at bruge PHP's chmod som standardløsningen til din løsning. Problemet er at det kun virker hvis du har de rigtige rettigheder til mapper/filer du vil chmod'e og som udgangspunkt kan du ikke tage det for givet at PHP brugeren er i samme gruppe eller har samme rettigheder som de filer du lægger op.
Avatar billede Slettet bruger
18. maj 2011 - 11:14 #2
Har du erfaring med ftp-modellen?
Avatar billede repox Seniormester
18. maj 2011 - 11:19 #3
Det kommer an på hvad du mener med 'erfaring'? Jeg undrer mig lidt over at du gerne vil give dine brugere mulighed for at rette rettighederne? Lidt opklaring kan måske give dig et forslag til en bedre løsning.
Avatar billede Slettet bruger
18. maj 2011 - 11:29 #4
Er i gang med at lave et filhåndteringsmodul til et cms jeg arbejder på.

Normalt vil en bruger ikke kunne uploade dokumenter/billeder/osv., da mapperne ikke har de rigtige rettigheder.

Jeg vil gerne undgå at brugerne skal lege med et ftp-program, og kunne ændre de nødvendige rettigheder direkte i cms'et.

Om brugerne skal kunne gøre det selv, eller scriptet skal ændre rettighederne når brugeren uploader til en mappe der ikke har de rigtige rettigheder, har jeg ikke besluttet mig for endnu. Det er som sådan også underordnet, da scriptet under alle omstændigheder skal kunne gøre det.

Jeg vil gerne give brugeren så meget frihed som muligt (selvfølgelig inden for de rammer en administrator sætter op), og f.eks. kunne oprette mapper i roden af webhotellet, og efterfølgende uploade til denne mappe.
Avatar billede repox Seniormester
18. maj 2011 - 11:55 #5
Jeg vil anbefale dig at gøre som så mange andre gør - lad en bestemt mappe være din filhåndteringsmappe og få din bruger til at chmodde den mappe manuelt. Alle filer og mapper der oprettes herefter under den mappe har PHP fuld adgang til.

Hvis det vitterligt er så vigtigt for dig at de ikke selv skal kæmpe med et FTP program, så kan du gøre det til en del af en installations/klargørings process hvor du ikke gemmer FTP oplysningerne, men bruger dem en enkelt gang til at give de nødvendige rettigheder til den ene mappe.

Hvordan lyder det?
Avatar billede Slettet bruger
18. maj 2011 - 12:08 #6
Det var også min første tanke at gøre det sådan, men synes alligevel det andet kunne være en interessant feature.
Avatar billede repox Seniormester
18. maj 2011 - 12:12 #7
#6
Jeg ville mene at din interessante feature ville være en potentiel sikkerheds og driftsrisiko. Der intet i vejen for at begrænse mulighederne for dine brugere, så længe det styrker din software.

Men det er jo bare en holdning.
Avatar billede Slettet bruger
18. maj 2011 - 12:16 #8
Det er i hvertfald noget jeg vil genoverveje nøje.

Tak for input.

Læg et svar og der er point på vej :)
Avatar billede repox Seniormester
18. maj 2011 - 12:21 #9
Du fik et svar her.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester