"Bertel Lund Hansen" <unospamo@lundhansen.dk> skrev i en meddelelse
news:akopr4h3igkpuq861rg3ls6ue949unbnai@news.stofanet.dk...
> Frank K. Jensen skrev:
>
>> Jeg vil så gerne tjekke GET argumenterne for sikre, at man ikke kan
>> skrive
>> et eller andet, hvor man får adgang til andre filer. Min første tanke
>> var,
>> at så længe ingen af dem startet med enten 'punktum' eller 'skråstreg',
>> så
>> vil det være ok.
>> Er det rigtigt?
>
> Det er temmelig sikkert, men ikke 100 %. Hvis én gætter navnet på
> en mappe der ligger under /galleri/billeder/ (i mit eksempel:
> "rotur"), kan han skrive:
>
> ?dir=rotur/../../../etc/hosts
>
> På den måde kan han tilgå en vilkårlig mappe der ikke er
> blokeret.
Ja, den havde jeg ikke lige tænkt på
> Hvorfor tjekker du ikke bare om filnavnet ender på ".jpg"?
Fordi der kan være mapper med billeder som ikke ligger under galleriet, som
ikke bør kunne ses. (Ikke fordi at jeg har noget hemmeligt liggende, men
bare fordi at jeg gerne vil gøre ordenligt.)
> Den skudsikre metode består i at opsamle et array med tilladte
> mappenavne og en anden med tilladte filnavne og så holde
> GET-værdien op mod dem. Med funktionen glob() kan man læse
> filnavne i en mappe ind i et array.
Noteret, men med mit galleri skal den så lave arrayet on-the-fly, hver gang
der ses en side, hvilket også vil tage lidt tid (måske er det ubetydeligt).
mvh Frank