13. november 2005 - 22:26Der er
9 kommentarer og 1 løsning
Sikkerhed ved brug af fopen()
Hej Eksperter.
Er der nogen sikkerhedsproblemer i, at bruge fopen() til at åbne nogle filer på serveren, hvor jeg henter mappe-strukturen vha. $_POST[] ? Jeg er nervøs for om man evt. kan inkludere kode fra andre filer end dem der ligger på mit eget hotel. Stien til filen bliver lavet sådan her :
Reelt kan en bruger jo gå op i linket og pille i mappe-strukturen. Jeg har tænkt mig at tjekke med file_exists() før jeg åbner noget, men jeg ved ikke om det er tilstrækkeligt.
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
Det er ikke godt, det du gør der. Du bør finde en anden metode. Et par forslag 1) Gem et tal sammen med stien i en database, og brug tallet i url-en 2) (nøøødløsning): check, der ikke står ".." noget sted i filnavnet.
Er det et problem hvis jeg tjekker om filen eksisterer ?
$file = "images/graph/$path1/$path2/data.php";
if (file_exists($file)) { // mere kode.. }
Så vidt jeg kan se kan '..' kun bruges til at hoppe tilbage i mappe-strukturen. Og det vil ikke lykkes da ingen af mapperne indeholder en fil med navnet 'data.php'.
Hvis du ved at der kun ligger ting i images/graph, der må ses af "fremmede", så bør du kunne sove roligt om natten (af den grund i hvert fald), hvis du tjekker $path1 og $path2 grundigt. Hvis du sørger for at de aktuelle mapper kun indeholder tegn a-z0-9, og du i dit script også checker det, så kan man vel ikke få fat i noget forkert.
Det der ligger i "images/graph/$path1/$path2/" er fuldstændig u-hemmeligt. Alle må se det. Men jeg vil helst ikke have at folk kan tilgå data "bagud" - altså længere oppe i billed-strukturen.
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.