Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Upload zdjęć.
moto0095
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


Witam ponownie.
Mam takie pytanie czy ten skrypt jest bezpieczny??
  1. <?
  2. $plik_tmp = $HTTP_POST_FILES['plik']['tmp_name'];
  3. $plik_name = $HTTP_POST_FILES['plik']['name'];
  4. $plik_size = $HTTP_POST_FILES['plik']['size'];
  5. $plik_type = $HTTP_POST_FILES['plik']['type'];
  6. $wih = getimagesize ($plik_tmp);
  7.  
  8. if ($wih[0] < 1||$wih[1] < 1){
  9. echo"Plik nie jest zdjęciem.";
  10. }
  11. }
  12. if(empty($plik_tmp) and empty($plik_name) and empty($plik_size) and empty($plik_type)){
  13. echo"Nieprawidłowy plik";
  14. }
  15.  
  16. if($plik_size > 2000000){
  17. echo"Plik za duży. Tylko pliki do 2MB.";
  18. }
  19.  
  20. if($plik_type != "image/jpg"){
  21. echo"Zły rodzaj pliku.";
  22. }
  23.  
  24. if(is_uploaded_file($plik_tmp)) {
  25. move_uploaded_file($plik_tmp, "upload/$plik_name");
  26. echo "Plik: <strong>$plik_name</strong> o rozmiarze
  27. <strong>$plik_size bajtów</strong> został przesłany na serwer!";
  28. }else{
  29. echo"Błąd.";
  30. }
  31. ?>
  32.  
  33. <form enctype="multipart/form-data" action="?dodaj" method="POST">
  34. <input type="file" name="plik">
  35. <input type="submit" value="Wyślij">
  36. </form>


Ten post edytował moto0095 6.04.2010, 21:33:54
Go to the top of the page
+Quote Post
Neo
post
Post #2





Grupa: Zarejestrowani
Postów: 43
Pomógł: 9
Dołączył: 8.08.2009
Skąd: Olsztyn

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


Nie, gdyż można sfałszować "image/jpg" i wrzucić plik .php, phtml itp.

  1. move_uploaded_file($plik_tmp, "upload/$plik_name");

Użyj losowego ciągu dla nazw plików np md5(microtime(1)).'.jpg';
Go to the top of the page
+Quote Post
moto0095
post
Post #3





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


No ale przecież skrypt sprawdza wymiary pliku.
Go to the top of the page
+Quote Post
tehaha
post
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


wytknięcie błędów w pojedynczym skrypcie nic Ci nie da, jeżeli chcesz tworzyć bezpieczne skrypty musisz zrozumieć co może taki użytkownik zrobić, dlatego zanim stworzysz skrypt gugluj trochę i poczytaj np.
http://php.about.com/od/advancedphp/qt/upload_security.htm
http://www.mysql-apache-php.com/fileupload-security.htm
http://www.netlobo.com/php_file_upload_security.html
http://www.acunetix.com/websitesecurity/up...orms-threat.htm
Go to the top of the page
+Quote Post
moto0095
post
Post #5





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


Ale ja pytałem się tylko czy ten skrypt jest bezpieczny (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Spawnm
post
Post #6





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




A Neo odpisał że nie...
Go to the top of the page
+Quote Post

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: 20.12.2025 - 23:22