Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    unlink(), cancellare i file in sicurezza

    Salve a tutti,
    purtroppo non ho trovato molta documentazione (quasi zero in verità) circa la sicurezza sulla cancellazione di un file.

    Posto che io abbia la mia bella gallery di foto e volessi cancellarne una via php, dovrò per forza mandare via $_GET il nome dell'immagine che poniamo sia pippo..almare.jpg

    Quindi nel php avrò una situazione tipo:
    unlink($_GET['img']);

    La mia domanda è: un sistema così è sicuro???
    Non potrei subire qualche injection del tipo, nel get ../../../../etc/pwd

    Come dovrei ragionare???

    Grazie
    Perchè uso Maxthon? | Mi piace questa chat

  2. #2
    ti dico io come faccio... senza alcuna pretesa di avere la soluzione esatta.

    quando faccio l'upload filtro il nome del file evitando che contenga caratteri "estranei" fra i quali gli slash o altro... il tutto filtrato con una regex che consenta solo A-Za-z0-9.-_ facendo il replace di tutto ciò che nn è ok

    ara prima di "accedere alla funzione unlink() verifoco tutti i permessi con funzioni di login. ad esempio
    if(!is_logged()) {exit('vai a quel paese!');}

    poi filtro il nome ricevuto (io eviterei il get... ma se propio vede essere...) con la stessa regex con la quale ho fatto l'upload quindi avrò la certezza che nn vi saranno / \ o ..
    oppure potresti fare con basename()

    faccio un controllo preventivo con file_exist() e poi

    unlink()

  3. #3
    Ok, grosso modo è quello che già facevo io.
    Mi chiedevo se c'era altro, ma sembra di no

    Grazie mille
    Perchè uso Maxthon? | Mi piace questa chat

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    ...aggiungo che una galleria deve essere memorizzata in un database...quindi puoi prendere i nomi da li.... senza che li passi con get
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Io la galleria non ce l'ho sul DB, non ne ho trovato la necessità
    Perchè uso Maxthon? | Mi piace questa chat

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.