J'ai un script qui prend une clé de $ _GET ['clé'], recherche l'emplacement dans une base de données et utilise le fichier readfile avec certains en-têtes pour présenter un téléchargement pour le utilisation. Cela fonctionne dans Firefox mais pas IE8, n'ont pas été en mesure de le tester sur un autre IE. J'obtiens l'erreur suivante dans IE: "Internet Explorer ne peut pas télécharger download.php depuis www.example.com". Comme s'il essayait de télécharger le script PHP.Script PHP pour télécharger le fichier ne fonctionne pas dans 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);
jetez un oeil à l'injection SQL et mysql_real_escape_string. Ce morceau de code est vulnérable. – erenon
Oh seigneur oui s'il vous plaît utiliser mysql_real_escape_string – AaronLS
Ne sait pas beaucoup à ce sujet, mais il peut avoir quelque chose à voir avec l'extension de fichier dans le fichier $ – AaronLS