Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Bezpieczny upload na serwer
johny-cage
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 15.05.2007

Ostrzeżenie: (0%)
-----


Mam pytanie dotyczące bezpieczeństwa uploadu na serwer. Załózmy że na serwerze mam 2 skrytpy: laduj1.php i laduj2.php
W skrypcie laduj1.php jest formularz z <input type=file> a w skrypcie laduj2.php jest

  1. <?php
  2. $plik1_tmp = $_FILES['plik1']['tmp_name'];
  3. $plik1_nazwa = $_FILES['plik1']['name'];
  4. $plik1_rozmiar = $_FILES['plik1']['size'];
  5.  
  6. move_uploaded_file($plik1_tmp, "jakiskatalog/$plik1_nazwa");
  7. ?>


Oczywiście aby wykonać taką operację katalog do którego nagrywam musi mieć prawa dostępu ustawione na 777. Nasuwa się zatem pewna wątpliwość. Czy ktoś kto w jakiś sposób się dowie że istniej na moim dysku katalog o prawach dostępu do zapisu może napisać sobie skrypt na swoim serwerze i w ten sposób za pomocą skryptu ze swojego serwera nagrywać pliki na mój serwer?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
johny-cage
post
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 15.05.2007

Ostrzeżenie: (0%)
-----


Założyłem oczywiście, że osoba która chciałaby mi coś nagrać nie będzie korzystała z żadnego z moich plików ani żadnego inngego pliku znajdującego sie na moim serwerze
Cytat(tsharek @ 4.09.2007, 08:24:45 ) *
dokładnie tak: są generalnie dwa sposoby walki z takimi atakami:- ukrywanie katalogu (np za pomocą htaccess) przed dostępem z zewnątrz- filtr na uploadowane pliki (na rozszerzenie, mime type pliku, itp)
Ukrywanie? Znaczy po prostu, że potencjalny użytkownik nie wie o istnieniu katalogu jednak w przypadku zdobycia takiej wiedzy i tak może coś nagrać swojego?Druga metoda to rozbijanie nazwy pliku i sprawdzanie jego rozszerzenia? Jeśli plik nie jest plikiem o rozszerzeniu jpg to nie można nagrać, w innym wypadku tak? Jak to można zrobić? Choć to i tak liche zabezpieczenie.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 00:04