• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Download erzwingen

backdoorstuff

Neues Mitglied
Hallo,
ich möchte gerne einen Download per php erzwingen ;)

Ich hatte mich diesbezüglich schonmal erkundigt und habe folgenden code bekommen:

Code:
<?php
$name="downloads/".$_GET['datei'];
$end=strrchr($name, ".");
$end=substr($dateiendung,1);
header("Content-type: application/$end");
header("Content-Disposition: attachment; filename=".$name."");
header("Content-Length: ".filesize($name));
readfile($name);
?>

Und dann in die HTLM verlinkung folgendes :

Code:
<a href="download.php?datei=Test.txt">Test Download</a>

Das ganze auf meinen Webspace geladen und es klappt schon ganz gut :)

Eine Sache möchte ich aber gerne noch ändern, weis aber nicht wie ....

Wenn ich die Datei über diesen Weg Downloade blendet er mir beim "Speichern" Fenster den Namen "downloads_Test.txt" vor !

Ich möchte aber das er nur den wirklichen Namen der Datei vorblendet also in diesem Fall "Test.txt".

Was muss ich ändern, dass das so klappt wie ich das möchte ?

Vielen Dank schonmal im Vorraus & LG
 
Werbung:
PHP:
<?php 

$name="downloads/".$_GET['datei']; 
$end=strrchr($name, "."); 
$end=substr($dateiendung,1); 
header("Content-type: application/$end"); 
header("Content-Disposition: attachment; filename=".$_GET['datei'].""); 
header("Content-Length: ".filesize($name)); 
readfile($name); 

?>
 
PHP:
$name="downloads/".$_GET['datei'];
Sehr unsicher! Niemals $_GET/$_POST - Werte ungeprüft im Script weiterverarbeiten!
 
Werbung:
PHP:
<?php 

$name="downloads/".$_GET['datei']; 
$end=strrchr($name, "."); 
$end=substr($dateiendung,1); 
header("Content-type: application/$end"); 
header("Content-Disposition: attachment; filename=".$_GET['datei'].""); 
header("Content-Length: ".filesize($name)); 
readfile($name); 

?>

Vielen Dank, dass klappt doch schon genau so wie ih es mir vorgestellt hatte.
 
Beachte aber bitte trotzdem den Hinweis von CPCoder sonst ist es unter Umständen möglich jede Datei von deinem Server zu laden über den $_GET Wert.

was muss ich den ändern um den "fehler" zu beheben ? ich habe leider nicht so viel ahnung von PHP, habe den code auch wie gesagt nur bekommen nicht selber geschrieben!
 
Werbung:
Zurück
Oben