Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Code injection
Forum PHP.pl > Forum > Przedszkole
Octobus
Witam. Mam skrypt ktory ma odbierac nazwe pliku w zmiennej get i chce zabezpieczyc zeby nie dalo sie zrobic ../nazwapliku.php W artykule z h@cking czytalem zeby to zrobic na eregi ale jest to przestarzala funkcja ktora nie dziala poprawnie, na preg_match nie moge tego zrobic bo zawsze zwraca mi true wiec jak ?
piotrooo89
może pokażesz regexp'a, ale jak zwraca Ci true to znaczy, że się dopasowało - czyli masz plik potencjalnie niebezpieczny - i teraz wystarczy to zanegować i już będzie działać, chociaż to jest taki mój domysł...
d3ut3r
nie wystarczy Ci samo basename ?
Sephirus
Zamiast basename proponuje pathinfo() i masz na tacy rozszerzenie pliku wink.gif
Octobus
daje preg_match na
Cytat
@([0-1a-zA-Z]+)@i

ale jak dam np
Cytat
dsadsa321fds%#$@^$

daje result 2 wiec true

nie chodzi mi o rozszerzenie pliku bo je i tak usuwam i akceptowane jest tylko jedno, ale chodzi mi o wstrzykniecie kodu albo podanie nazwy pliku z katalogu nizej.
!*!
Nie działa, bo liczby mogą być od 0 do 1 w Twoim wyrażeniu, oraz "i" na końcu nie jest Ci potrzebne.
  1. /^([a-zA-Z0-9]+)$/


Prócz tego użyj funkcji jakie podali wyżej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.