Sviluppo uno script php per sostituire quello corrente, che avrà molta esposizione a vari mercati/paesi. Questo script tra gli altri offre una funzionalità di caricamento delle foto.Approccio alla sicurezza del caricamento dell'immagine PHP
Dopo aver letto molte informazioni sul problema, ho seguito l'approccio descritto di seguito. Apprezzerei molto i vostri commenti sulla sua sicurezza.
- La foto viene caricata in una cartella 777 privata all'esterno di Web Root.
- Viene eseguito un controllo per le estensioni elencate in bianco (consenti solo jpg, gif, png) tutto il resto viene eliminato.
- Uso di getimagesize per verificare dimensioni min-max e validità foto.
- Verifica del mimetype e della corrispondenza dell'estensione di file.
- Ridimensionamento della foto caricata su dimensioni std (utilizzando imagecopyresampled).
- Salvataggio dei file creati come jpg.
- Rimozione del file originale.
- Salvare le foto con un nuovo nome (non casuale), ad esempio img51244.jpg.
- Spostare le nuove foto in sottodirectory variabili di una cartella pubblica (777 autorizzazioni) in base a un algoritmo non prevedibile. Ad esempio,
img10000.jpg
verrà archiviato allophotos/a/f/0/img10000.jpg
mentre loimg10001.jpg
verrà archiviato allophotos/0/9/3/img10001.jpg
. Questo viene fatto per altri motivi (uso di sottodomini per contenuto statico o utilizzo di un CDN).
Lo script verrà eseguito su un server dedicato Linux.
niente salta fuori da me qui. a parte il permesso 777 sulla cartella - come ho capito, se ha 777 permessi, non è privato. ma per quanto posso dire questo sarebbe davvero importante se il tuo server fosse compromesso (che non mi sembra verosimile attraverso questo script almeno) – jammypeach
777 non sembra sicuro. Possibile correlato a http://stackoverflow.com/questions/3644138/secure-user-image-upload-capabilities-in-php – ajreal
Mi sembra molto buono, tranne forse per autorizzazioni molto liberali. Forse possono essere un po 'limitati? Altrimenti, questo fa tutto il necessario che riesco a pensare, inclusa la rimozione dei dati EXIF –