Esempio da evitare


L’immagine a fianco mostra un tipico esempio di come non vada scritto il software di gestione di un sito.

L’errore principale in questo caso è stato quello di realizzare un software che accetta un file come parametro passato via HTTP.

Ipotizzando che la lettura di un file passato come parametro sia una necessità, è comunque possibile evitare il directory traversal.

La funzione realpath() permette di convertire i path relativi in path assoluti e, quindi, sanificare le stringhe prima di passarle alle funzioni di apertura file: utilizzando il valore ritornato da realpath('.') è possibile eseguire dei controlli sulla stringa da sanificare per evitare che vengano caricati file in posizioni non previste.

,

3 risposte a “Esempio da evitare”

    • Devo ammettere che ho ne ho visti un po’ lato server e mi han chiesto di meterci delle pezze perché il programmatore che c’era PRIMA (e non più) aveva lasciato un buco di sicurezza grosso come il Mediterraneo

      • Toh… quindi hanno pagato prima il (non-voglio-chiamarlo-)programmatore di prima, e poi te… Insomma hanno pagato due volte.

        Quanta gente non capirà questa logica?

        K.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *