Autor | Zpráva | ||
---|---|---|---|
Křeček Profil |
#1 · Zasláno: 18. 6. 2007, 17:08:11
<?php
if (substr(phpversion(),0,3) <= '4.1') exit("Nepodařilo se spustit skript."); $max_att = 1000000 ; // 1MB MAX $up_dir = "svecon_upload/"; $PHP_SELF = $_SERVER['PHP_SELF']; if(get_magic_quotes_gpc()) { strip_slashes($_GET); strip_slashes($_POST); strip_slashes($_COOKIES); } function & strip_slashes (&$str) { if(is_array($str)) { while (list($key, $val) = each ($str)) { $str[$key] = strip_slashes ($val); } } else { $str = stripslashes ($str); } return $str; } $mt = eregi_replace('|', ', ', $mime_types); $ex = eregi_replace('|', ', ', $extensions); $mb = $max_att / 1048576; ?> <form name="a" action='<?php echo "$PHP_SELF" ?>' method="post" enctype="multipart/form-data"> <input type="file" name="fileatt"><br>Stisknutím tlačítka Upload souhlasíte s <a href="index.php?page=pravidla">pravidly</a>. <br><input class="butt" type="submit" name="upload_submit" value="Upload"> </form> <?php if(isset($_POST['upload_submit'])) { //set_time_limit(0); //// POVOLIT NEOMEZENÝ ČAS $valid = true; $fileatt_size = $_FILES['fileatt']['size']; $fileatt_type = $_FILES['fileatt']['type']; $fileatt_name = $_FILES['fileatt']['name']; $fileatt_tmp = $_FILES['fileatt']['tmp_name']; if($fileatt_size > $max_att) { $valid = false; $err_msg .= 'Chyba:<br>Soubor je větší než povolená velikost.'; } umask($oldumask); } $dest = $up_dir . $fileatt_name; if($valid) { if(!move_uploaded_file($fileatt_tmp,$dest)) { $valid = false; $err_msg .= "Chyba:<br>Soubor se nepodařilo uložit."; } else { echo "Odkaz na soubor:<br><a href='index.php?page=download&ID=$fileatt_name' target='_blank'>index.php?page=download&ID=$fileatt_name</a>"; } } if(!$valid) echo "<b>$err_msg</b>"; ?> Jak mám zakázat typ souboru PHP při uploadu? |
||
bukaj Profil |
#2 · Zasláno: 18. 6. 2007, 17:19:34
před podmínku s $valid přidat něco jako:
|
||
Křeček Profil |
#3 · Zasláno: 18. 6. 2007, 17:46:59
<?php
if (substr(phpversion(),0,3) <= '4.1') exit("Nepodařilo se spustit skript."); $max_att = 1000000 ; // 1MB MAX $up_dir = "svecon_upload/"; $PHP_SELF = $_SERVER['PHP_SELF']; if(get_magic_quotes_gpc()) { strip_slashes($_GET); strip_slashes($_POST); strip_slashes($_COOKIES); } function & strip_slashes (&$str) { if(is_array($str)) { while (list($key, $val) = each ($str)) { $str[$key] = strip_slashes ($val); } } else { $str = stripslashes ($str); } return $str; } $mt = eregi_replace('|', ', ', $mime_types); $ex = eregi_replace('|', ', ', $extensions); $mb = $max_att / 1048576; ?> <form name="a" action='<?php echo "$PHP_SELF" ?>' method="post" enctype="multipart/form-data"> <input type="file" name="fileatt"><br>Stisknutím tlačítka Upload souhlasíte s <a href="index.php?page=pravidla">pravidly</a>. <br><input class="butt" type="submit" name="upload_submit" value="Upload"> </form> <?php if(isset($_POST['upload_submit'])) { //set_time_limit(0); //// POVOLIT NEOMEZENÝ ČAS $valid = true; $fileatt_size = $_FILES['fileatt']['size']; $fileatt_type = $_FILES['fileatt']['type']; $fileatt_name = $_FILES['fileatt']['name']; $fileatt_tmp = $_FILES['fileatt']['tmp_name']; if($fileatt_size > $max_att) { $valid = false; $err_msg .= 'Chyba:<br>Soubor je větší než povolená velikost.'; } umask($oldumask); } if($fileatt_type == "application/x-php"){ $valid = false; $err_msg .= "Chyba:<br>Nepovolený typ souboru."; } $dest = $up_dir . $fileatt_name; if($valid) { if(!move_uploaded_file($fileatt_tmp,$dest)) { $valid = false; $err_msg .= "Chyba:<br>Soubor se nepodařilo uložit."; } else { echo "Odkaz na soubor:<br><a href='index.php?page=download&ID=$fileatt_name' target='_blank'>index.php?page=download&ID=$fileatt_name</a>"; } } if(!$valid) echo "<b>$err_msg</b>"; ?> Udělal jsem to takto ale nejde to. |
||
bukaj Profil |
#4 · Zasláno: 18. 6. 2007, 18:08:36
jestli slovem nejde myslíš, že i přesto se PHP soubor nahraje na server, pak ještě poupravit tu podmínku pro další mime-typy:
if($fileatt_type == "application/x-php" && $fileatt_type == "application/x-httpd-php" && $fileatt_type == "application/x-httpd-php-source" && $fileatt_type == "application/x-httpd-php3" && $fileatt_type == "application/x-httpd-php3-preprocessed" && $fileatt_type == "application/x-httpd-php4" && $fileatt_type == "application/x-httpd-php5"){ popř. ještě další |
||
Časová prodleva: 17 let
|
0