každopádne je tam ešte jedna haluz v tom, že uloženie záznamu do downloadu sa vykoná, aj keď je nepovolený typ súboru. Súbor sa síce neuloží, ale vznikne záznam, čo je IMHO zle. Nevadí to bezpečnosti ale je to taká nepríjemnosť.
úrpava by mala byť v /admin/adownload.php:
function AcAddFile()
{
// bezpecnostni korekce
$_POST['prnazev']=phprs_sql_escape_string($_POST['prnazev']);
$_POST['prkomentar']=phprs_sql_escape_string($_POST['prkomentar']);
$_POST['prurl']=phprs_sql_escape_string($_POST['prurl']);
$_POST['prjmeno']=phprs_sql_escape_string($_POST['prjmeno']);
$_POST['prsize']=phprs_sql_escape_string($_POST['prsize']);
$_POST['przdrojjm']=phprs_sql_escape_string($_POST['przdrojjm']);
$_POST['przdrojadr']=phprs_sql_escape_string($_POST['przdrojadr']);
$_POST['prverze']=phprs_sql_escape_string($_POST['prverze']);
$_POST['prkat']=phprs_sql_escape_string($_POST['prkat']);
$_POST['prlevel']=phprs_sql_escape_string($_POST['prlevel']);
$_POST['przobrazit']=phprs_sql_escape_string($_POST['przobrazit']);
$_POST['prsekce']=phprs_sql_escape_string($_POST['prsekce']);
$dnesnidatum=Date("Y-m-d H:i:s");
// zpracovani uploadu souboru
$nast_furl='';
if (isset($_FILES['prupload'])):
$vysledek_uploadu=StdUploadSoubor('prupload',$GLOBALS['rsconfig']['file_adresar'],'sb');
if ($vysledek_uploadu['stav']==1):
$nast_furl=$vysledek_uploadu['cesta_sb']; // vse OK; soubor uploadovan
echo "<p align=\"center\" class=\"txt\">".RS_FIL_SS_OK_ADD_FILES_UPLOAD."</p>\n";
else:
if($vysledek_uploadu['chyba']==1):
echo $vysledek_uploadu['chyba_popis']; // chyba pri uploadu nebo zpracovani
else:
$nast_furl=$_POST['prurl']; // nepouzit primy upload; plati zapis URL adresy
endif;
endif;
else:
$nast_furl=$_POST['prurl']; // nepouzit primy upload; plati zapis URL adresy
endif;
if(!isset($vysledek_uploadu['chyba']) || $vysledek_uploadu['chyba']!=1) {
// sestaveni dotazu
$dotaz="insert into ".$GLOBALS['rspredpona']."download values ";
$dotaz.="(null,'".$_POST['prnazev']."','".$_POST['prkomentar']."','".$nast_furl."','".$_POST['prjmeno']."','".$_POST['prsize']."','".$_POST['przdrojjm']."',";
$dotaz.="'".$_POST['przdrojadr']."','".$dnesnidatum."','".$_POST['prverze']."','".$_POST['prkat']."',0,'".$_POST['przobrazit']."','".$_POST['prsekce']."',";
$dotaz.="'".$_POST['prlevel']."')";
// pridani polozky
@$error=phprs_sql_query($dotaz,$GLOBALS["dbspojeni"]);
if (!$error):
echo "<p align=\"center\" class=\"txt\">Error D1: ".RS_DB_ERR_SQL_DOTAZ."</p>\n";
else:
$cislosouboru=phprs_sql_insert_id();
echo "<p align=\"center\" class=\"txt\">".RS_FIL_SS_OK_ADD_FILES."</p>\n";
echo "<p align=\"center\" class=\"txt\"><a href=\"".RS_VYKONNYSOUBOR."?akce=InfoDownDopis&modul=files&cislosouboru=".$cislosouboru."\">".RS_FIL_SS_ODESLAT_MAIL."</a></p>\n";
endif;
}
// navrat
echo "<p align=\"center\" class=\"txt\"><a href=\"".RS_VYKONNYSOUBOR."?akce=ShowFile&modul=files\">".RS_FIL_SS_ZPET."</a></p>\n";
}