Ho uno script che prende una chiave da $ _GET ['chiave'], cerca la posizione in un database e usa il file di lettura insieme ad alcune intestazioni per presentare un download per uso. Funziona su Firefox ma non su IE8, non è stato possibile testarlo su un altro IE. Ottengo il seguente errore in IE: "Internet Explorer non può scaricare download.php da www.example.com". Come se stesse cercando di scaricare lo script PHP.Script PHP per scaricare file non funzionante in IE
$the_query = "SELECT * FROM `files` WHERE `user_id`=" . $_SESSION['user_id'] . " AND `key`='" . $key . "'";
$result = mysql_query($the_query);
$row = mysql_fetch_array($result);
$file = '/var/www/vhosts/www.example.com/httpsdocs/uploads/' . $row['id'] . '/' . $row['file'];
header("Content-type: application/octet-stream");
header("Content-length: ".filesize($file));
header('Content-Description: File Transfer');
header("Cache-control: private");
header('Content-Disposition: attachment; filename=' . rawurlencode(basename($file)));
readfile($file);
dai un'occhiata a SQL injection e mysql_real_escape_string. Questo pezzo di codice è vulnerabile. – erenon
Oh signore si per favore usa mysql_real_escape_string – AaronLS
Non ne so molto, ma potrebbe avere qualcosa a che fare con l'estensione del file in $ file – AaronLS