Quote Originariamente inviata da MItaly Visualizza il messaggio
Intendo validare sempre i parametri per evitare che si possano fare scherzetti di questo genere. Nel tuo caso, una possibilità potrebbe essere tentare di convertire il parametro in un intero prima di fare quella concatenazione, in modo che qualunque roba che non sia semplicemente un numero venga uccisa sul nascere.

Inoltre, prima di accedere ad un percorso che dipende da un parametro può essere sensato far "risolvere" completamente il percorso, rendendolo "canonico" (ci sarà sicuramente una funzione PHP per 'sta roba, anzi, ce ne saranno 12, di cui 4 che fanno la stessa cosa ma con i parametri in ordine diverso, 3 che ricalcano la sintassi C, 3 deprecate e 2 wrapper ad oggetti che non usa nessuno perché disponibili solo da PHP 7 in poi; tutte ovviamente hanno bachi diversi) e verificando lì se effettivamente (1) i file che stai pescando stanno nella directory corretta e (2) se hanno l'estensione corretta.
Intendi ad esempio prendere il path ../public/events/1.txt e cambiarlo in 58648448464256? Con una funzione che genera un numero a seconda del file di testo? E poi passare quello riconvertendolo dopo?