Autor Zpráva
Ricky
Profil *
Prosim vás, upload mám urobený ale blbne mi tam jedna vec, každý predsa vie že do takého jednoduchého uploadu sa môžu dať aj PHP súbory, ktoré vedia robiť na stránke neplechu, dá sa urobiť podmienka že keď je súbor ktorý chcem nahrať typu PHP, že ho to ďalej nepustí a len ukáže okno "Súbor je PHP!!!" ?

Ďakujem za odpovede.
suky
Profil
Ricky
Kontroluj koncovku souboru a dej si pozor i na jine poncovky jako je treba *.php3, *.php4 atd.
suky
Profil
Ricky
Vyskakovaci okno pak JS funkci alert().
Ricky
Profil *
No hej, ale ja by som potreboval vedieť skript, prosím, poviete mi ho niekto?
Medvídek
Profil
http://php.vrana.cz/ukladani-souboru-od-uzivatele.php :)
ShiraNai7
Profil
nejak tak podobne...

<?php

//$soubor - predpokladam, ze v tomto je ulozen nazev souboru
$spatne_pripony=array('php', 'phtml', 'php3', 'php4', 'ph3', 'ph4');
$soubor_info=pathinfo($soubor);
if(isset($soubor_info['extension']) and in_array($soubor_info['extension'], $spatne_pripony)){
   exit 'PHP soubor!';
}
else{
//pokracovat v uploadu...
}

?>
echo
Profil *
alebo naopak
$file='upload_file';
$permited=array('image/jpeg','image/gif','image/png','image/tiff');

if(in_array($_FILES[$file]['type'],$permited)){
	//upload suboru
}else{
	$msg[]='File type "'.$_FILES[$file]['type'].'" is not permited.';
}
Ricky
Profil *
No, takze uz sa s tym drbem asi tyzden ale v ziadnom pripade neviem prist na to aby sa zakazalo ukladanie php suborov. ShiraNai7 mi napisal skript, ktory som sa pokusal vselijak kombinovat, ale stale mi tam ukazalo error, az som sa rozhodol tu vlozit cely moj skript. Ked bude niekto taky laskavy a da mi tu opraveny skript, ktory zaisty aby sem nesli pripony php, phtml, php3, php4, ph3, ph4, budem velmi rad.


<?php
if (isset($_FILES['fupload']))
{
$slozka = "soubory"; // Zde si napište svojí složku, do které se budou soubory ukádat (bez lomítka)
$cil = $slozka . "/" .$_FILES['fupload']['name']; // Toto je proměnná $cil, která obsahuje adresář, kde se má soubor uploadovat a taky název souboru.
$nazev_souboru = $_FILES['fupload']['tmp_name']; // Zjistí dočastné umístění souboru
move_uploaded_file($nazev_souboru, $cil) // A tady zkopíruje soubor z dočastného umístění do cílového souboru a složky
or die ("<b><font color=\"red\">Váš súbor NEBOL správne nahratý na server...</font> <font color=\"orange\"><a href=\"http://www.XXXXXXXXXX\">[NAHRAŤ ĎALŠÍ]</a></font></b><br><br><u>Príčiny:</u><br>- Súbor presahuje veľkosťť <b>2MB</b>,<br>- súbor je v neznámom formáte,<br>- bol vybraný neexistujúci súbor."); // A pokud se nepovede, tak vypíše tuto hlášku
chmod ($cil, 0644); // Ještě na soubor vyhodíme funkci chmod, která změní jeho práva na maximum, pokud by soubor psal chybu změňte 0644 na 0777
echo "<b><font color=\"#000080\">Váš súbor bol správne nahratý na server...</font> <font color=\"orange\"><a href=\"http://XXXXXXXXXX/\">[NAHRAŤ ĎALŠÍ]</a></font><br>";
$size = filesize("$cil");
echo "<font color=\"silver\">Súbor bol uložený v ,,".$cil; echo "” o veľkosti ".$size/1000; echo " Kb,"; echo " čo je ".$size/1000000; echo " Mb.</font><br><br>";
}
?>
Ricky
Profil *
Prosim, povie mi to niekto? :(

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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