Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Upload Obrazków - Bezpieczeństwo
Forum PHP.pl > Forum > PHP
Reptile ReX
Chcę w moim serwisie zrobić możliwość dodania zdjęć do galerii i mam pewien plan na zabezpieczenia, czy to wystarczy ?
Prosiłbym o rady:

1. Sprawdzanie rozszerzenia.
2. Sprawdzanie MIME type Pliku
3. Sprawdzanie funkcją getimagesize czy otrzymałem tablicę
darko
Niestety nie ma skutecznej metody, która w 100% wyeliminowałaby ryzyko włamu na stronę/wyrządzenia szkód, a to, co wymieniłeś to tylko mniej lub bardziej skuteczne sposoby, aby zminimalizować to ryzyko.
Reptile ReX
A masz może jakieś dodatkowe sposoby aby jeszcze bardziej zminimalizować to ryzyko ?
darko
Sposobów jest cała masa, .htaccess, zmiana nazwy na losową, przeszukiwanie gifów, zapisywanie w wyodrębnionym katalogu, wywołanie polecenia file -bi itd., poczytaj
http://bachowski.pl/2009/05/zabezpieczenie...u-plikow-w-php/
http://www.beldzio.com/bezpieczny-upload-plikow
yevaud
kolega wyzej chyba troche przesadzil z pesymizmem smile.gif

generalnie sposoby mozna podzielic na pare grup:

1. sprawdzacz czy to co dostales to nie jest plik wykonywalny, na wszelkie sposoby
2. wrzucasz go do katalogu ktory nie pozwala na uruchamianie takich plikow ktore Ci nie pasuja, na wypadek gdybys sie pomylil w 1. winksmiley.jpg
3. probojesz sprawic zeby osoba ktora wrzuca plik, nie wiedziala gdzie on jest/jak sie do niego odwolac, to na wypadek gdyby zawiodlo 1 i 2 smile.gif
4. odcinasz calkiem dostep do tego katalogu, umozliwiajac go tylko swojemu skryptowi np. php ktory bedzie posredniczyl miedzy plikiem, a uzytkownikiem ktory chce go zobaczyc. To na wypadek gdyby zawiodlo 1-3 winksmiley.jpg

Mozesz sie ograniczyc do jednej metody, albo zastosowac dowolne kombinacje lub wszystko winksmiley.jpg Najbardziej skuteczne jest 4, ale tez najbardziej zasobozerne. W przypadku zrobienia 4, sila rzeczy 2 i 3 maja mniejszy sens
Skutecznosc order by asc to
3
2
1
4

wrzucanie plikow na oddzielny serwer, to rowniez odmiana 4
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.