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
25.06.2012, 06:49:45
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ł...
Zamiast basename proponuje pathinfo() i masz na tacy rozszerzenie pliku
Octobus
25.06.2012, 08:39:40
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.
!*!
25.06.2012, 09:10:01
Nie działa, bo liczby mogą być od 0 do 1 w Twoim wyrażeniu, oraz "i" na końcu nie jest Ci potrzebne.