Autor Zpráva
H4rm
Profil
Ahoj, nevíte někdo jak můžu udělat omezení pro upload? Jako aby se nedaly uploadovat PHP a HTML soubory?

Můj SCRIPT:

FORM ACTION="upload.php" METHOD="post" ENCTYPE="multipart/form-data">
<INPUT TYPE="file" NAME="soubor" SIZE="30">
<INPUT TYPE="submit" NAME="akce" VALUE="Upload">
</FORM>
<?

if ($akce == "Upload") {

  if ($soubor_type == "text/plain" or $soubor_type="text/html") {
    if (copy ($soubor, "lolas/$soubor_name")) {
      print "Soubor <b>$soubor_name</b> o velikosti <b>$soubor_size</b> bajtu
       byl uspesne uploadnut na server<BR><BR>Adresa vaseho souboru je: <b><a href=\"http://www.file-hosting.hu.cz/lolas/$soubor_name\" target='_blank'>http://www.file-hosting.hu.cz/lolas/$soubor_name</a></   b>";

      mail ("Ssss@vostrej.cz", "Upload souboru $soubor_name",
       "Na server byl nahran soubor <b>/lolas/$soubor_name\n</b>",
       "From: Ssss@vostrej.cz\nX-web: http://www.file-hosting.hu.cz/upload.php");
    }
    else {
      print "<b>Pri nahrávání souboru doslo k chybe!</b><BR>";
    }
  }
  else {
    print "<b>Soubor neni pozadoveho MIME typu!</b><BR>";
  }
}

?>
Miraňák
Profil *
Při uploadu si zjisti jaký je typ souboru a pak akorát dej podminku podívam se to po tom zjistení typu
Miraňák
Profil *
$typ=strrchr($HTTP_POST_FILES['soubor']['name'], ".");
srigi
Profil
H4rm
OMFG zapnute register_globals. To nepouzivaj ani nahodou. Zaujimalo by ma odkial sa bere premenna $soubor_type. Kazdopadne ak pochadza z pola $_FILES[] je treba vediet, ze hodnotu MIME typu nastavuje klientov browser a teda je velmi lahke tuto hodnotu zmanipulovat. Jakub vrana to vyriesil jednoducho, ak je povolene uploadovat iba obrazky, testuje typ suboru pomocou funkcie getimagetype(). link.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0