AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Problem mit Download-Script im IE
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Problem mit Download-Script im IE

Ein Thema von Grolle · begonnen am 8. Mai 2008 · letzter Beitrag vom 9. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2      
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#1

[PHP] Problem mit Download-Script im IE

  Alt 8. Mai 2008, 15:00
Hallo,

folgendes Script benutze ich um Usern Downloads zur Verfügung zu stellen:
Delphi-Quellcode:
$dir = '/www/htdocs/........';
  $type = 'application/zip';

  if(!empty($_GET['file']) && !preg_match('=/=', $_GET['file'])) {
    if(file_exists ($dir.$_GET['file']))    {
        makeDownload($_GET['file'], $dir, $type);
    }

  }
}

function makeDownload($file, $dir, $type) {
   
    header("Content-Type: $type");

    header("Content-Disposition: attachment; filename=\"$file\"");

    readfile($dir.$file);
   
}
Im Firefox läuft das einwandfrei. Nur im IE gehts nicht (Downloaddaten konnten nicht ermittelt werden)!

Viele Grüße ...

  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#2

Re: [PHP] Problem mit Download-Script im IE

  Alt 8. Mai 2008, 15:17
Ich hoffe das ist nur Beispiel-Code.
Sonst möchte ich gerne mal die config.inc.php downloaden.

Edit:// Mhh? Ich dachte immer, man kann unter PHP den Slash problemlos durch einen Backslash ersetzen, auch unter Linux. War mir da eigentlich ziemlich sicher, aber ich habe gerade gemerkt, dass es scheinbar doch nicht geht. Ich habe statt auf "/" im Dateinamen zu prüfen immer den Dateinamen mit basename($file) extrahiert.

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von halinchen
halinchen

Registriert seit: 13. Jun 2006
508 Beiträge
 
Delphi 2007 Professional
 
#3

Re: [PHP] Problem mit Download-Script im IE

  Alt 8. Mai 2008, 15:33
So ein Funktion wie MakeDownload (fast die selbe wie deine, nur die Dateigröße und ein paar mehr Infos werden geliefert.) nutze ich auch.

Ich hab hier zwar Linux, da geht das mit dem IE testen etwas schlecht. Aber unter Windows ging es mit dem IE meines Wissens aber auch.

Vielleicht liegt es ja an der Größe, die kannst du ja mal mit übermitteln.

Du solltest aber unbedingt noch eine Liste anlegen, wo die Dateien drin stehen, welche downloadbar sind. Sonst ist es ein Sicherheitsloch.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#4

Re: [PHP] Problem mit Download-Script im IE

  Alt 8. Mai 2008, 15:44
wenn man ein Downloadverzeichnis hat, wo keine Sicherheitsrelevanten Dateien drin stehn, dann kann man auch ohne Dateiliste arbeiten, aber es muß sichergestellt sein, daß nur dateien aus diesem Verzeichnis abrufbar sind

Zitat von halinchen:
Du solltest aber unbedingt noch eine Liste anlegen, wo die Dateien drin stehen, welche downloadbar sind. Sonst ist es ein Sicherheitsloch.
ich selber hab den Download auf bestimmte Verzeichnisse beschränkt und auch noch sicherheitsrelevante Dateien ausgeschlossen (Dateiliste mit Dateinamen und Dateimasken verbotener Dateien).


Code:
@header('Content-Transfer-Encoding: binary');
@header('Content-Type: application/octet-stream', true);
//@header('Content-Length: ' . $i);
@header('Content-Disposition: attachment; filename = "' . $EDatei . '"');
readfile($Verzeichnis . $EDatei);
exit;
PS: also dieses öffnet meißt auch noch das Downloadfenster und zeigt z.B. GIFs nich im Browser an
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#5

Re: [PHP] Problem mit Download-Script im IE

  Alt 8. Mai 2008, 20:09
Hi,

der Download kommt aus einem htaccess geschützten Verzeichnis. Das sollte auch so bleiben.
Zugriff hat nur, wer angemeldet ist. Was hat der IE nur immer

Viele Grüße ...

  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [PHP] Problem mit Download-Script im IE

  Alt 8. Mai 2008, 20:15
Hallo,

setze zusätzlich einmal Content-Length. Außerdem hast du Content-Type falsch gesetzt. Das muss im IE "application/octetstream" sein.

Grüße

Edit: Ich bezog mich auf himitsus Content-Type.
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#7

Re: [PHP] Problem mit Download-Script im IE

  Alt 8. Mai 2008, 21:23
Damit klappts auch im IE: header("Pragma: public");
Greetz

  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#8

Re: [PHP] Problem mit Download-Script im IE

  Alt 8. Mai 2008, 23:38
Zitat von Grolle:
der Download kommt aus einem htaccess geschützten Verzeichnis. Das sollte auch so bleiben.
Zugriff hat nur, wer angemeldet ist. Was hat der IE nur immer
.htaccess hat nur von außen eine Wirkung.

PHP läuft auf deinem Server und den interessiert eine .htaccess-Datei nicht die Bohne ... ergo hat man dank dieses Scripts auf alles Zugriff, sogar auf Verzeichnisse, welche sonst nicht von außen zugänglich sind (z.B. Backups, Logs)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: [PHP] Problem mit Download-Script im IE

  Alt 9. Mai 2008, 05:32
Zitat:
PHP läuft auf deinem Server und den interessiert eine .htaccess-Datei nicht die Bohne ... ergo hat man dank dieses Scripts auf alles Zugriff, sogar auf Verzeichnisse, welche sonst nicht von außen zugänglich sind (z.B. Backups, Logs)
Aber nur wenn man leichtsinnigerweise den save mode deaktiviert hat.
Markus Kinzler
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#10

Re: [PHP] Problem mit Download-Script im IE

  Alt 9. Mai 2008, 07:11
Zitat von himitsu:
ergo hat man dank dieses Scripts auf alles Zugriff, sogar auf Verzeichnisse, welche sonst nicht von außen zugänglich sind (z.B. Backups, Logs)
Wieso? Unter $dir ist doch nur ein Unterverzeichnis angegeben (und zwar nicht der htdocs!!!)?!? Außerdem bekommen
den Zugriff nur eingeloggte User. Der Zugriff ist von außen nicht möglich. Das Script im ersten Beitrag ist nur ein
Ausschnitt!

Viele Grüße ...

  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz