connessioneConReturn($sql)) ) { die("non riesco a prendere le informazioni sulla configurazione in db".$sql); } while ( $riga = $database->sqlArray($result) ) { $configurazione[$riga['nome']] = $riga['valore']; } $pos = strpos($file, '..'); $pos2 = strpos($file, '/'); // se comincia con i due punti o lo slash, non accetto l'input if ($pos !== false OR $pos2 === 0) { header("HTTP/1.0 404 Not Found"); die('Errore: File non consentito.'); } $nomeFile = '../'.$uploadPath.$file; if (file_exists($nomeFile)) { if($configurazione['redirect_output_immagini']) { header("location: ".$server_url.$uploadPath.$file);//redirect } else { // leggo ed invio il file in download header('HTTP/1.1 200 OK'); header('Status: 200 OK'); header('Accept-Ranges: bytes'); header("Content-type: application/force-download"); header("Content-Transfer-Encoding: Binary"); header("Content-length: ".filesize($nomeFile)); //Nico $baseFileName = basename($nomeFile); if(strpos($baseFileName, "O__O")) { $baseFileName = substr($baseFileName, strpos($baseFileName, "O__O") + 4); } header("Content-disposition: attachment; filename=\"".$baseFileName."\""); @readfile($nomeFile); } } else { header("HTTP/1.0 404 Not Found"); die('Errore: File non trovato sul server.'); } } else { header("HTTP/1.0 404 Not Found"); die('Errore: File non specificato.'); } ?>