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.


Pubblicato

in

,

da

Tag:

Commenti

3 risposte a “Esempio da evitare”

  1. Avatar Kurgan

    Direi che sia da evitare e basta… senza stare a cercare di mettere pezze a meta`. Quanti ne ho visti fatti cosi`…

    1. Avatar Luigi Rosa

      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

      1. Avatar Kazuma
        Kazuma

        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 *