sweter
22.12.2010, 11:40:47
Witam,
część mojej aplikacji odpowiedzialny za upload zdjęć jest podzielony na dwie grupy katalogi: tmp_first oraz katalogi do których zostanie wysłany plik (to wybiera user).
W katalogu /tmp_first znajdują się zdjęcia świeżo wgrane przez użytkownika, które należy wykadrować itp.
Teraz pytanie: czy bezpiecznie jest wrzucać do tego folderu pliki o dowolnej nazwie (bo akceptowane rozszerzenie to jpg, jpeg, gif, png, więc raczej ni będzie w niech złośliwego kodu) i później edytować ich nazwy na bardziej odpowiednie, np.: z "jakiś fajniutki plik $ coś tam.jpg" na "jaki__fajniutki_plik___co__tam.jpg", czy może nie dopuszczać tego typu plików w ogóle do serwera?
Pozdrawiam
Fifi209
22.12.2010, 12:01:35
Nazwy to hash z nazwy + losowy ciąg. Inaczej nie ma opcji.
Co do bezpieczeństwa to nie sprawdzaj rozszerzenia na zasadzie: jpg dobry, bo ja w formacie jpg mogę równie dobrze exe wrzucić.
mime_content_type
sweter
22.12.2010, 12:14:20
Tzn. pomysł wykorzystujący katalog tymczasowy, w którym są nowe pliki z dowolną nazwą, a później je hashuje, był dobry tak?
Fifi209
22.12.2010, 13:04:11
Zapisujesz plik, później zmieniasz nazwę przy zapisie do normalnego katalogu (kopiowaniu z tymczasowego do normalnego)
Quantum
22.12.2010, 15:52:44
Warto jednak wspomnieć o tym, że funkcja
mime_content_type w php 5.3 otrzymała status przestarzałej i zaleca się używanie
Fileinfo (wcześniej dostępne w PECL).
Fifi209
22.12.2010, 16:12:59
~Quantum
Hmm, przeczytałeś swojego posta?