Avatar billede henrik6666 Nybegynder
22. maj 2004 - 01:02 Der er 9 kommentarer og
2 løsninger

Unlink og htaccess

Jeg har en admin del her : www.domæne.dk/private/admin-files/sletfiler.php hvor jeg beskytter mappen private med htaccess

Den fil jeg gerne vil have slettet ligger her : www.domæne.dk/files/files-mappe/fil.zip

Men jeg får denne besked :

Warning: unlink(../../files/files-mappe/): Operation not permitted in /sti/sti/sti/private/admin-files/sletfiler.php on line 63

Linie 63 er bare der hvor unlink ligger ..

<?php
unlink("../../files/files-mappe/$filnavn") ;
?>

Problemet er at jeg beskytter med htaccess så hvordan får jeg lov til at slette filen fra min admin mappe ?
Avatar billede dennismp Nybegynder
22. maj 2004 - 01:10 #1
Det er ikke htaccess der er problemet. Du har nok ikke givet webserveren rettigheder til at kunne slette mappen (den skal ligeledes være tom, mener jeg). Kig på mappens rettigheder.
Avatar billede henrik6666 Nybegynder
22. maj 2004 - 01:16 #2
Jeg har slettet filen fra forskellige steder i sti-system men lige så snart den ligges i "private" hvor htaccess beskytter kommer fejlmeddelsen!
Avatar billede olebole Juniormester
22. maj 2004 - 01:22 #3
<ole>

Hvis du har beskyttet mappen med htaccess og du ikke kan slette en fil i den fra en mappe udenfor beskyttelsen, så ser det sør'me ud til, din htaccess-fil virker som den skal  :)

/mvh
</bole>
Avatar billede henrik6666 Nybegynder
22. maj 2004 - 01:32 #4
Ha Ha ja men der må være en måde at slette den på alligevel for ligger jeg en fil i 'private' som skal slette en fil i files-mappe så sker der det at htaccess aktiveres og jeg skriver så brugernavn samt pass og så slettes filen ;-)) Ergo ..der må findes en måde :-)
Avatar billede olebole Juniormester
22. maj 2004 - 02:08 #5
"Hvis jeg holder en bold i 1 meters højde og slipper den, falder den til jorden. Lægger jeg nu bolden på gulvet og slipper den, må den altså kunne hoppe 1 meter op - i min anden hånd" ... nej, ikke nødvendigvis  ;o)
Der er stor forskel på, om du prøver at scripte ind i et beskyttet område - eller du forsøger at scripte ud af det ... get my point?  :)

Det er et stykke tid siden, jeg sidst havde fat i htaccess, så jeg husker ikke præcis, hvordan (og alle muligheder) - men du kan sætte forskellige rettigheder i .htaccess-filen.
Jeg mindes dog, der er oceaner af relevant materiale om emnet på WWW, så prøv en søgning på Google - og her i kategorien.
/mvh
Avatar billede olebole Juniormester
22. maj 2004 - 02:11 #6
... men i princippet åbner man jo for et potentielt sikkerhedshul, hvis man tillader en bruger at slette filer i et beskyttet område, som vekommende ellers ikke kan betros adgang til  :)
Avatar billede sukos Juniormester
22. maj 2004 - 07:54 #7
Brug den fulde sti og ikke relativ, når du har med filsystem at gøre:

Ikke
<?php
unlink("../../files/files-mappe/$filnavn") ;
?>

men

<?php
unlink($_SERVER["DOCUMENT_ROOT"] ."/files/files-mappe/". $_POST["filnavn"]) ;
?>
Avatar billede henrik6666 Nybegynder
22. maj 2004 - 10:42 #8
Jeg troede der skulle nogle hardcore koder til for at løse mit problem og af samme grund vurderede jeg spørgsmålet til svært men løsningen var dog enkel for jeg havde lagt mit  unlink("../../files/files-mappe/$filnavn") ; et sted hvor $filnavn ikke var indlæst fra databasen *G*

Jeg ved ikke lige hvad jeg skal stille op med pointene men sukos kommer dog med et forslag men hans svar løste intet for jeg fik samme fejl med hans metode! Kan være olebole har en ide når han står op ;-) Hvad er takt og tone her på Eksperten mht point uddeling ?
Avatar billede olebole Juniormester
22. maj 2004 - 12:40 #9
Doohhhh ... ja, det burde jeg zq da have set i fejl-meddelelsen (og mon ikke, sukos tænker det samme?): "Warning: unlink(../../files/files-mappe/) ... osv ..."  ;o)

Jeg har ikke haft tid til at pudse min htaccess af (den er som sagt lidt rusten), men jeg er sikker på, det kan lade sig gøre via htaccess-filen.
Alligevel synes jeg dog stadig ikke om strukturen. Et Admin-område er _kun_ for Admin ... her bør ingen andre kunne foretage noget.

Jeg mener ikke, jeg har bidraget med noget, der er points værd - men finder din approach helt rigtig. Er man den mindste smule i tvivl, bør man lige spørge deltagerne i spm'et.
Man vil ofte få svaret "Ellers tak", men så har man dog udvist respekt for, at nogen har gidet afsætte noget af deres fritid til at forholde sig til ens problem - og forsøge at guide én mod en løsning.

En løsning belønnes altid, men en indsats uden reel brugbar løsning ses også tit belønnet ... det er lidt et spørgsmål om 'indføling' og 'stemning'.
Et spørgsmål i tvivlstilfælde er dog som sagt altid en god idé - og direkte adspurgt er det jo svært at være grådig og urimelig  ;o)
/mvh
Avatar billede dennismp Nybegynder
22. maj 2004 - 12:45 #10
Jeg er ret overbevist om at .htaccess ikke er noget php bekymre sig særligt om, efter php har overtaget kontrollen over et request.
Avatar billede henrik6666 Nybegynder
22. maj 2004 - 13:57 #11
Efter lange overvejelser er point fordelingen foretaget ;-)

Vil dog lige understrege at i min admin-del kan man administrere og det kan de som har adgang kun gøre! I min htaccess admin-del kan man fortage ændringer i mapper/filer som ikke ligger i admin-delen og jeg mistænker en af jer for at have misforstået dette ;-)

Mange tak for hjælp og interesse :-)
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