/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste