Vorrei normalizzare un percorso da una risorsa esterna per prevenire gli attacchi di attraversamento di directory. Conosco la funzione realpath(), ma purtroppo questa funzione restituisce solo il percorso delle directory esistenti. Quindi se la directory non esiste (ancora) la funzione realpath() taglia l'intera parte del percorso che non esiste.PHP: normalizza il percorso delle directory non esistenti per impedire gli attraversamenti di directory?
Quindi la mia domanda è: conosci una funzione PHP che normalizza solo il percorso?
PS: Anche io non voglio creare tutte le possibili directory in anticipo ;-)
Ho anche se una simile soluzione, ma poiché ci sono diversi modi per codificare i puntini ([vedi Wikipedia] (http://en.wikipedia.org/ wiki/Directory_traversal_attack # URI_encoded_directory_traversal)), questo non sarebbe sufficiente: -/ – JepZ
Bene, questa è stata l'implementazione [MVP] [0]. Puoi aggiungere una chiamata rawurldecode() e una corrispondenza regexp prima di essa per controllare quali caratteri permetti nei tuoi percorsi. D'altra parte, la domanda era se c'è una funzione integrata per questo. Questo codice era solo il modo possibile per andare da lì. [0]: http: //en.wikipedia.org/wiki/Minimum_viable_product –