Avatar billede gid4u Nybegynder
18. april 2002 - 07:40 Der er 6 kommentarer og
2 løsninger

Sikkerhed ved fil download

OK. Jeg har et fil katalog som en service på mit website. Problemet er at man må kun kunne få fat i filerne når man er logget på systemet.

Et eksempel.

I mappen /dev/root/mysite/data/ ligger filen test.doc
Hvis man i browseren skriver hele stien til filen så bliver den jo downloadet, og det må den ikke.

Jeg bruger et php script der henter filen for dig
getfile.php?id=10. I en tabel er der så linket mellem id og filen. Det virker også fint da scriptet checker om man er logget ind, men ikke hvis man tilgår filen direkte (ofcourse).

Nogle ideer udover .htaccess og folder security som jeg gerne vil undgå.

Det skal nemlig virke både på Windows og FreeBSD/Redhat
Avatar billede lequet Nybegynder
18. april 2002 - 07:51 #1
Hmm, måske du kunne placere mappen med filerne i, uden for web-scope, hvilket så betyder at kun dine scripts har adgang til filerne i mappen...

Sådan at din side ligger i /dev/root/mysite/ og filerne ligger i
/dev/root/data/ Så vil det ikke være muligt at få adgang til den via URL'en men du kan stadig lave et script der henter filerne...

Jeg tror ikke der er så gevaldigt mange mulighedder ellers :)

Desuden... .htaccess virker da på både windows og unix platforme, det eneste krav er at serveren er Apache :)
Avatar billede sukos Juniormester
18. april 2002 - 07:52 #2
Det må vel være noget serveropsætning?
Altså beskytte en mappe, og kun tillade adgang hvis man kommer fra en bestemt side, en side som man kun kommer ind på hvis man er logget ind.

Bruger du Apache?
Avatar billede Thomas Nybegynder
18. april 2002 - 07:54 #3
Normalt har du jo en "root" mappe som fx.
/www/www.mithotel.dk/html/
Hvor du fx. har mulighed for at oprette mapper under
/www/www.mithotel.dk/
Altså kan du bare oprette en mappe her og lægge din filer der, så vil det kun være dit script der kan hente filerne, da man jo via browseren automatisk vil havne i html mappen... Det ville ihvf være den nemmeste løsning. Om man kan noget lign. under winsnøvz ved jeg ikke (men mon ikke man kan?).
Håber du forstår.
Avatar billede sukos Juniormester
18. april 2002 - 08:17 #4
Det her virker på en windåse med apache:

<Directory "C:/Apache/htdocs/test2">

    AllowOverride None
    Options None
    Order allow,deny
    Allow from localhost

</Directory>

Hvis jeg ændrede localhost til en af mine venners IP eller en anden comp på lokalnetværket, var det kun dem som kunne komme ind.
Så hvis du bruger localhost, er det kun fra en side på serveren at man får mulighed for at hente filer i mappen.
Avatar billede sukos Juniormester
18. april 2002 - 08:20 #5
Og hvad der virker på en windåse virker vel også på alle andre platforme :o)
Avatar billede sukos Juniormester
18. april 2002 - 08:21 #6
Ovenstående er lagt i httpd.conf, men må vel også kunne gøres med .htaccess?
Avatar billede sukos Juniormester
18. april 2002 - 08:28 #7
Nu lod jeg mappen test2 få lov at bruge .htaccess, og lagde flg. i .htaccess filen placeret i mappen test2

    Options None
    Order allow,deny
    Allow from localhost

Og det virker på samme måde!
Avatar billede gid4u Nybegynder
18. april 2002 - 09:12 #8
Jeg har også selv fundet løsningen ved at gøre som lequet
foreslog.
Point er givet til de to svar, da de efter test også virker.

Tak for det
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