Chciałbym znormalizować ścieżkę z zasobu zewnętrznego, aby zapobiec atakom przemierzania katalogów. Wiem o funkcji realpath(), ale niestety ta funkcja zwraca tylko ścieżkę do istniejących katalogów. Jeśli więc katalog nie istnieje (jeszcze), funkcja realpath() odcina całą część ścieżki, która nie istnieje.PHP: znormalizować ścieżkę nieistniejących katalogów, aby zapobiec przechodzeniu katalogów?
Moje pytanie brzmi: Czy znasz funkcję PHP, która normalizuje tylko ścieżkę?
PS: Ja też nie chcę, aby utworzyć wszystkie możliwe katalogi z góry ;-)
również jednak o takiego rozwiązania, ale ponieważ istnieje wiele sposobów w celu zakodowania punktów ([patrz Wikipedia] (http://en.wikipedia.org/ wiki/Directory_traversal_attack # URI_encoded_directory_traversal)), to nie wystarczy: -/ – JepZ
Cóż, to była implementacja [MVP] [0]. Możesz dodać wywołanie rawurldecode() i dopasowanie regexp, aby kontrolować znaki dozwolone w ścieżkach. Z drugiej strony, pytanie dotyczyło wbudowanej funkcji. Ten kod był tylko możliwy do zrobienia. [0]: http: //en.wikipedia.org/wiki/Minimum_viable_product –