Hallo liebe PHP-Cracks,
ich wollte auf meiner Seite die Downloadlinks vom direkten Link in einen PHP-Aufruf mittels ID ummodeln. Ich habe mir dazu auch die verschiedenen Posts hier im Forum und hier
http://www.php-faq.de/q/q-datei-download.html angeschaut und einigermaßen befolgt, leider gibt es beim Aufruf der einzelnen Downloads ernste Probleme, mit anderen Worten Firefox hängt sich auf und spuckt ca. 100.000 Zeichen auf der aufgerufenen Seite aus, vorher gibt es aber noch folgende Meldungen:
Warning: filesize() [function.filesize]: stat failed for .../downloads/beispiel.zip in .../html/NEUES_PROJEKT/download.php on line 13
Warning: Cannot modify header information - headers already sent by (output started at .../html/NEUES_PROJEKT/download.php:13) in .../html/NEUES_PROJEKT/download.php on line 13
Warning: Cannot modify header information - headers already sent by (output started at .../html/NEUES_PROJEKT/download.php:13) in .../html/NEUES_PROJEKT/download.php on line 14
Hier der zugehörige Code:
Die Abfrage scheint soweit in Ordnung, zumindest liest er den Link zum Download aus der Datenbank aus, das Problem sind die Header. Der Code ist die komplette Datei, es wird kein Template o.ä. mit Headern inkludiert, deshalb frage ich mal nach, wie die Lösung aussehen muss.
Bei der Gelegenheit auch gleich die Frage, ist dieses Skript ausreichend gegen Injections geschützt?
Danke für Eure Hilfe!
ich wollte auf meiner Seite die Downloadlinks vom direkten Link in einen PHP-Aufruf mittels ID ummodeln. Ich habe mir dazu auch die verschiedenen Posts hier im Forum und hier
http://www.php-faq.de/q/q-datei-download.html angeschaut und einigermaßen befolgt, leider gibt es beim Aufruf der einzelnen Downloads ernste Probleme, mit anderen Worten Firefox hängt sich auf und spuckt ca. 100.000 Zeichen auf der aufgerufenen Seite aus, vorher gibt es aber noch folgende Meldungen:
Warning: filesize() [function.filesize]: stat failed for .../downloads/beispiel.zip in .../html/NEUES_PROJEKT/download.php on line 13
Warning: Cannot modify header information - headers already sent by (output started at .../html/NEUES_PROJEKT/download.php:13) in .../html/NEUES_PROJEKT/download.php on line 13
Warning: Cannot modify header information - headers already sent by (output started at .../html/NEUES_PROJEKT/download.php:13) in .../html/NEUES_PROJEKT/download.php on line 14
Hier der zugehörige Code:
PHP:
<?php
include_once('php/db_login.php');
$_GET["id"];
$result = mysql_query('SELECT dl_link FROM downloads WHERE dl_ID = "' . mysql_real_escape_string($_GET['id']) . '"');
$filename = mysql_result($result,0,0);
header("Content-Disposition: filename=\"$filename\"");
header("Content-Length: ".filesize($filename));
header("Content-Type: application/octet-stream");
readfile($filename);
?>
Die Abfrage scheint soweit in Ordnung, zumindest liest er den Link zum Download aus der Datenbank aus, das Problem sind die Header. Der Code ist die komplette Datei, es wird kein Template o.ä. mit Headern inkludiert, deshalb frage ich mal nach, wie die Lösung aussehen muss.
Bei der Gelegenheit auch gleich die Frage, ist dieses Skript ausreichend gegen Injections geschützt?
Danke für Eure Hilfe!
Zuletzt bearbeitet: