|
| upload af filer Fra : Mikkel |
Dato : 21-05-03 09:02 |
|
Jeg har et sikkerhedsproblem i forhold til det at uploade filer.
Når jeg uploader filer gør jeg det til http://minserver/filer og det er også
det jeg ønkser, men jeg ønkser samtidig også at mine brugere kan uploade
alle slags filer, ja om det er så er html/php filer, men så kommer
problemet. Kan de uploade phpfiler til mappen /filer bliver de jo også
eksekveres af serveren hvis de hedder .php :-/
Hvad gør i andre, sørger for de ikke kan uploade perl/php/html dokumenter
eller kan det løses med et .htsetting i apache. Hjææælp jeg er i vilrede,
hvordan gør i?
Hilsen Mikkel
| |
Kim Emax (21-05-2003)
| Kommentar Fra : Kim Emax |
Dato : 21-05-03 11:00 |
|
Mikkel wrote:
> Når jeg uploader filer gør jeg det til http://minserver/filer og det
> er også det jeg ønkser, men jeg ønkser samtidig også at mine brugere
> kan uploade alle slags filer, ja om det er så er html/php filer, men
> så kommer problemet. Kan de uploade phpfiler til mappen /filer bliver
> de jo også eksekveres af serveren hvis de hedder .php :-/
Lad dit script flytte en uploadet fil ud af webscope eller upload til en
mappe, der f.eks. er beskyttet af en .htaccess.
--
Take Care
Kim Emax - Freelance programmør
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop
| |
Mikkel Bundgaard (21-05-2003)
| Kommentar Fra : Mikkel Bundgaard |
Dato : 21-05-03 18:07 |
|
>
> Lad dit script flytte en uploadet fil ud af webscope eller upload til en
> mappe, der f.eks. er beskyttet af en .htaccess.
>
Hvordan giver jeg folk mulighed for at hente filerne?
/mikkel
| |
Kim Emax (21-05-2003)
| Kommentar Fra : Kim Emax |
Dato : 21-05-03 18:14 |
|
Mikkel Bundgaard wrote:
> Hvordan giver jeg folk mulighed for at hente filerne?
Du gør op med dig selv om du vil blæse eller have mel i munden! Undlad at
tilbyde uploade af specifikke filtyper
--
Take Care
Kim Emax - Freelance programmør
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop
| |
Peter Brodersen (22-05-2003)
| Kommentar Fra : Peter Brodersen |
Dato : 22-05-03 00:17 |
|
On Wed, 21 May 2003 10:02:26 +0200, "Mikkel" <spam_news@notfound.dk>
wrote:
>Hvad gør i andre, sørger for de ikke kan uploade perl/php/html dokumenter
>eller kan det løses med et .htsetting i apache.
En hurtig løsning er at sørge for at .php-filer ikke betragtes som
application/x-httpd-php (hvilket er forudsætningen for at de bliver
behandlet af php). Fx:
AddType text/plain .php
Denne liste bør selvfølgelig være udtømmende i forhold til de
extensions, der i første omgang involverer php-engine'n.
Det kan dog let blive bøvlet, hvis man løbende hælder mere teknologi
på, fx .shtml og så fremdeles.
Vil du blot slå PHP fra, for kataloget, kan du i stedet bruge:
php_flag engine Off
Dog vil jeg også anbefale, at man upload'er til et katalog udenfor
webscope i første omgang. Har du ingen .htaccess-fil, risikerer du
endda at brugeren uploader en sådan.
Når brugeren skal hente filen igen, sørger du blot for at have en
php-fil, der kan læse filen råt (fx vha. readfile() ) fra
upload-kataloget, og således spytte filen tilbage. Her bør man dog i
PHP-delen smide en Content-Type-header på, så hvis brugeren uploader
en fil af typen image/gif, bør serveren også svare dette tilbage.
Jeg ved dog ikke, om der findes en færdig og god fil-klasse til PHP,
der let kan servere filer med alle de rette headers, og også fortolke
mere komplicerede HTTP-requests (sætte fil-størrelse, Accept, forstå
conditional requests, ranges, etc.)
--
- Peter Brodersen
| |
|
|