Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Upload obrazków
Maxik
post
Post #1





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


Napisałem sobie skrypt uploadu obrazków, jeszcze go nie testowałem, ale mam pytanie. Czy jest on dostatecznie dobrze zabezpieczony?
  1. <?php
  2.  
  3. if(isset($_POST['send'])){
  4.    $typy = array('image/gif', 'image/jpeg', 'image/png', 'image/jpg');
  5.    if(!is_uploaded_file($_FILES['file'])){}
  6.        echo "Wybierz plik.";
  7.    } elseif(!in_array($_FILES['file']['type'], $typy, true)){
  8.        echo "Nie dozwolony format pliku!";
  9.        exit;
  10.    } elseif(getimagesize($_FILES['file']['tmp_name'])[0]<1 or getimagesize($_FILES['file']['tmp_name'])[1]<1)){
  11.        echo "Plik nie jest obrazkiem(minimalna wielkość 1px x 1px)";
  12.        exit;
  13.    } elseif($_FILES['file']['size']>256000){
  14.      echo "Plik ma zbyt duży rozmiar";
  15.    } else{
  16.        $check=false;    
  17.        while(!$check)    
  18.        $randed = array(
  19.        "r","h","k","y","4","p","q","w","n","2","8","a"
  20.        )
  21.        
  22.        $i = 0;
  23.        $kod = "";
  24.        while($i<=4){
  25.            $z = mt_rand(0,11);
  26.            $kod .= $randed[$z];
  27.        }
  28.        if(!file_exists('files/'.$kod.$_FILES['file']['name'])){
  29.        move_uploaded_file($_FILES['file']['tmp_name'], 'files/'.$kod.$_FILES['file']['name']);
  30.        $check=true;
  31.        } else{
  32.            continue;
  33.        }
  34.    }
  35. } else{
  36.    echo "Upload, dozwolone pliki: JPG, PNG, GIF<br />";
  37.    echo "<form action='".$SERVER['PHP_SELF']."' method='post' enctype='multipart/form-data'>";
  38.    echo "<input type='hidden' name='MAX_FILE_SIZE' value='256000' />";
  39.    echo "<input type='file' name='file' /><br />";
  40.    echo "<input type='submit' name='send' />";
  41.    echo "</form>";
  42. }
  43.  
  44. ?>


Miałem parę błędów, poprawiłem je, mimo wszystko uploaduje i za chwilę jest połączenie przerwane przez serwer. Co zrobiłem źle(błędy składni poprawiłem już)?
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: 16.09.2025 - 01:46