Avatar billede straszek Praktikant
11. juli 2006 - 21:32 Der er 13 kommentarer og
1 løsning

problemer med .htaccess

Hej,

Jeg har et bruger system der bruger sessions til at give adgang til dem der skal have det. Jeg har i dette system en mappe med filer som jeg ønsker at beskytte for uvedkommende, men godkendte brugere skal have adgang til mappen.

Jeg har lavet en script der henter filerne i mappen, og forsøgt at beskytte mappen med .htaccess
"
AuthName "filer"
AuthType Basic
<Limit GET POST>
order deny,allow
deny from all
allow from 127.0.0.1
</Limit>
"

Jeg troede at jeg ved at bruge allow from 127.0.0.1 kunne give scriptet lov til at få adgang, men jeg får en access denied besked.

Er der nogen der kan gennemskue fejlen?
Avatar billede miqe Nybegynder
11. juli 2006 - 21:57 #1
Ser ud til at du ønsker at basere adgang på host og ikke på bruger.
Prøv at erstatte "Basic" med "Host".
Avatar billede straszek Praktikant
11. juli 2006 - 22:05 #2
Det gør ingen forskel
Avatar billede miqe Nybegynder
11. juli 2006 - 22:37 #3
For brugeradgang skal du have fortalt den hvilke brugere der er gyldige.
En af følgende kan bruges:
Require valid-user
Require User uberitguru unteritguru gurusuberslave gurusunterslave
Require Group gurus slaves

Bruges linie 2 eller 3 skal der tilføjes link til gruppe og/eller bruger fil:
AuthUserFile /home/MinBruger/passwords/password.file
AuthGroupFile /home/MinBruger/passwords/group.file
Disse links er absolutte og tager udgangspunkt i filsystemets rodmappe, ikke domænets rodmappe. Vis det er muligt er det fornuftigt at lægge password filerne i parent-mappen til domæneroden, da websurferen dermed ikke kan komme til filen.
Der er også fornuft i at kalde filerne henholdsvis .htpasswd og .htgroup, da apacheservere som standard er sat op til at skjule filer der starter med ".ht"
Avatar billede straszek Praktikant
11. juli 2006 - 23:07 #4
gør stadig ingen forskel

min .htaccess:
AuthName "filer"
AuthType Basic
<Limit GET POST>
order deny,allow
deny from all
allow from 127.0.0.1
</Limit>
Require valid-user
Avatar billede miqe Nybegynder
11. juli 2006 - 23:23 #5
Hovsa... Glemte helt at "Require valid-user" også skal bruge en password-fil på samme måde som linie 2 og 3.
Min fejl! :o)
Avatar billede straszek Praktikant
11. juli 2006 - 23:34 #6
er du sikker på at det kan passe at man skal bruge en pw-fil, når det er et script der skal "logge ind", det kan jeg ikke rigtig få til at give mening
Avatar billede miqe Nybegynder
12. juli 2006 - 09:21 #7
Du skriver i indledningen at godkendte brugere skal have adgang.
Scriptet ligger såvidt jeg ved i et helt andet lag og påvirkes dermed ikke af .htaccess
Hvad scriptet angår skal du nok ind og tjekke brugerrettighederne i filsystemet.
apacheserveren kører med sin egen bruger og gruppe, som php arver, når den kører som mod. Ved ikke om det samme gælder for php som cli.

Er det din egen server eller benytter du et webhotel?
Bruger du et webhotel kan du i dit ftp-program sætte brugerrettigheder for hver enkelt mappe eller fil. Gør du det på en mappe, vil undermapper arve de samme rettigheder.
Jeg har selv haft problemer med scripts som ikke havde skriveadgang eller adgang til at oprette filer.
Skal du kun hente filer med scriptet eller skal du også skrive?

Mht. .htaccess går jeg ud fra at evt. brugere skal være sidde på maskinen. Ellers afgrænser du dem ved kun at tillade localhost (127.0.0.1).
Avatar billede straszek Praktikant
12. juli 2006 - 09:36 #8
jeg tror vi taler forbi hinanden.

Mappen "filer" er der ingen der skal have adgang til, kun scriptet "hentfil.php".

Det troede jeg, jeg kunne gøre med denne .htacces:

AuthName "filer"
AuthType Basic
<Limit GET POST>
order deny,allow
deny from all
allow from 127.0.0.1
</Limit>
Require valid-user

Men det virker ikke
Avatar billede miqe Nybegynder
12. juli 2006 - 15:01 #9
Virker scriptet når du fjerner .htaccess?
Avatar billede straszek Praktikant
12. juli 2006 - 15:08 #10
ja det gør det, men jeg har valgt en anden måde at gøre det på. Ved at gemme filerne uden for webroden,så behøver jeg ikke .htacces, og php-scriptet kan stadig få fat i filerne.

Søren
Avatar billede miqe Nybegynder
12. juli 2006 - 21:26 #11
Oki! Kunne godt tyde på at jeg skal have kigget lidt nærmere på hvordan .htaccess virker i dybere træk. ;o)
Avatar billede Slettet bruger
15. juli 2006 - 14:17 #12
Det kommer i høj grad også an på hvordan det script prøver at få fat på filerne.

Når du benytter PHPs funktioner til normal filhåndtering - f.eks readfile() - så er webserveren slet ikke involveret i den fil, og .htaccess har defor ingen effekt. Jeg kan se, at det er en af disse funktioner, du benytter, for ellers ville du slet ikke kunne få fat i noget uden for webroden.

Men de fleste af fil-funktionerne kan også godt læse fra en URL (hvis serveren er sat op til at understøtte det - det er hoteller normalt ikke af sikkerhedshensyn). Hvis man benytter sig af det, så kan readfile-kaldet se således ud:

readfile('http://minserver.dk/sikkermappe/fil.jpg');

Og i den situation vil en .htaccess i sikkermappe have indflydelse. Det er dog meget smartere at benytte den metode, du endte med, da den anden metode koster flere kræfter for webserveren.
Avatar billede miqe Nybegynder
15. juli 2006 - 15:45 #13
At serveren vruger flere kræfter på .htaccess er mest fordi er aktiveret i httpd.conf.
Vis du f.eks. klikker på:
http://mydomain.com/folder/subfolder/subsubfolder/subsubedidubfolder/my.file
vil serveren lede efter en .htaccess fil i hver af mapperne:
http://mydomain.com/
http://mydomain.com/folder/
http://mydomain.com/folder/subfolder/
http://mydomain.com/folder/subfolder/subsubfolder/
http://mydomain.com/folder/subfolder/subsubfolder/subsubedidubfolder/
i nævnte rækkefølge, hvor de sidste har forrang ift. de første.
På en typisk webhotel-server med mange, domæner og mange brugere, vil det gøre en kæmpe forskel i performance, om .htaccess er slået til eller ej, uanset om folk bruger .htaccess filerne eller ej.
Avatar billede straszek Praktikant
27. september 2006 - 08:58 #14
lukker
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

IT-JOB

Capgemini Danmark A/S

Client Partner

Netcompany A/S

Linux Operations Engineer

Riskpoint A/S (Riskpoint Solutions Limited)

IT Business Analyst