download forcieren bei flash
um das zu verhindern kann man den download forcieren (funktioniert auch bei anderen dateitypen).
flash-code:
// ein icon erzeugen
var pdf_icon:MovieClip = _root.attachMovie("pdf_icon","pdf_icon",_root.getNextHighestDepth());
// eine neue ebene erzeugen (wegen variablenübergabe)
var pfad:MovieClip = pdf_icon.createEmptyMovieClip("pfad",0);
// pfad in die variable file speichern
pfad.file = "pdf/meinpdf.pdf";
// beim klicken auf das pdf-icon, den download starten
pdf_icon.onRelease = function():Void {
this.pfad.getURL("download.php","_self","POST");
}
php-code:
<?php
$file = $_POST['file'];
$pos = strpos(strrev($file),"/");
$name = substr($file,$pos*-1,strlen($file));
header("Content-type: application/force-download");
header("Cache-Control: "); // für den IE
header("Pragma: "); // für den IE
header("Content-Length: ".filesize($file));
header("Content-Disposition: attachment; filename=".$name);
readfile($file);
exit;
?>
dringend zu empfehlen ist auch eine überprüfung der zu downloadenden datei einzubauen. durch die manipulation des http-headers (kommunikation zwischen flash und php über POST) kann der pfad sonst geändert und so auch jede andere datei runtergeladen werden.
mfg mailo
Trackback URL:
https://mailo.twoday.net/stories/4444534/modTrackback