Sie sind hier:  Home > Forum
 
Zurück   dsl-user.de Board - DSL - Hilfe - DSL einrichten > Computer und WWW > Für Webmaster
Benutzername
Kennwort

Für Webmaster Alles was mit dem Erstellen zu tun hat, HTML, XML, PHP, Webspace

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 24.06.2005, 12:32
Registrierter Nutzer
 
Registriert seit: 23.02.2004
Ort: IN BW
Alter: 24
Beiträge: 118
Dateien downloaden

Hi Leute,

ich hab mal eine Frage wie mach ich das ich den Besuchern meiner HP ermöglichen kann Dateien herunter zu laden, es geht mir eigentlich hauptsächlich darum das ich meinen Besuchern html, jpg, pdf,... anbieten kann und das bei sollchen Datei das Fenster kommt wo ich öffnen, speichern, abbrechen klicken kann und nicht die Dateien geöffnet werden. Ich hab auch keine lust die fast 200 Datei jetzt einzeln zu verzippen.

Gruß Ströbi
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 24.06.2005, 12:53
Benutzerbild von funky
dsluser Sponsor
 
Registriert seit: 05.02.2003
Ort: irgendwo in der Oberpfalz
Alter: 31
Beiträge: 571
Code:
<a href="http://www.deinwebspace/Name.rar"><b>Name/info</b></a>
Kann man auch unter http://de.selfhtml.org/html/verweise...n.htm#download nachlesen
__________________
Mfg funky

funky

visite My Clan Quality-Gaming
Mit Zitat antworten
  #3 (permalink)  
Alt 24.06.2005, 13:11
Registrierter Nutzer
 
Registriert seit: 23.02.2004
Ort: IN BW
Alter: 24
Beiträge: 118
tut mir leid das geht nicht wenn ich den Link anklicke wird das Bild das ich eingebunden habe im Browser geöffnet und das will ich ja nicht es soll ja das Fenster kommen wo ich die Möglichkeit habe zwischen Datei öffnen, speichern, abbrechen.
Mit Zitat antworten
  #4 (permalink)  
Alt 24.06.2005, 14:35
DrWhiteLetter
Gast
 
Beiträge: n/a
Lies mal, was unter dem Link von Funky über dieses Thema zu finden ist!
Mit Zitat antworten
  #5 (permalink)  
Alt 24.06.2005, 14:42
Benutzerbild von RaBe59
Registrierter Nutzer
 
Registriert seit: 30.08.2004
Ort: Karlsruhe
Beiträge: 1.486
Ohne Aufwand:
'Bitte klicken Sie mit der RECHTEN Maustaste auf den Link und wählen Sie "Ziel speichern unter"'

Sonst brauchst Du eine Scriptsprache, da Du einen anderen Header schicken musst:
in PHP z.B.

<?php
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$_GET['filename'].'"');
readfile($_GET['filename']);
?>

Dieses Scriptchen legen wir als getfile.php auf dem Server ab.
In Deiner HTML-Seite steht dann ...

<A href="getfile.php?filename=Ein_word_dokument.doc"> Word-Dokument herunterladen </A>
__________________
Hardware ist weiblich und benimmt sich auch so, wenn man sie falsch begreift!!
Mit Zitat antworten
  #6 (permalink)  
Alt 24.06.2005, 19:17
Benutzerbild von funky
dsluser Sponsor
 
Registriert seit: 05.02.2003
Ort: irgendwo in der Oberpfalz
Alter: 31
Beiträge: 571
Du solltest auch das Bild in ein .rar oder.zip Archiv stecken.Dan klappt es auch mit dem Download
__________________
Mfg funky

funky

visite My Clan Quality-Gaming
Mit Zitat antworten
  #7 (permalink)  
Alt 27.06.2005, 16:33
Benutzerbild von Quidoff
wie auch immer
 
Registriert seit: 03.04.2004
Ort: Jossgrund
Alter: 23
Beiträge: 1.016
Ich mache es auf meiner Homepage genauso wie es RaBe59 gepostet hat. Aber dieses Script hat eine Sicherheitslücke, weil man damit jede beliebige Datei auf dem Server herunterladen kann. Z.B. auch Dateien in denen die mySQL Zugansdaten stehen oder ähnliches. Ich gebe zu, so groß ist die Lücke nun auch wieder nicht, aber ich habs so gemacht.

PHP-Code:
konstanten.php

$dateien 
= array();
$dateien['download_name'] = "download/datei.rar"
In diesem Array speichere ich also alle Dateien, die heruntergeladen werden dürfen.

PHP-Code:
download.php

error_reporting
(E_ALL);
include(
"inc/konstanten.php");

  if(!isset(
$_GET['x']))
  {
    echo(
"<html>\n");
    echo(
"<head>\n");
    echo(
"<title>Fehler!</title>\n");
    echo(
"</head>\n");

    echo(
"<body>\n");
    echo(
"<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n");
    echo(
"    <tr>\n");
    echo(
"        <td align=\"center\" valign=\"middle\" width=\"100%\" height=\"100%\">");
    echo(
"        <b>Ungültiger Aufruf diese Seite.</b>\n</td>\n");
    echo(
"    </tr>\n");
    echo(
"</table>\n");
    echo(
"</body>\n");
    echo(
"</HTML>\n");
    die();
  }

  
$download $_GET['x'];

  if(!isset(
$dateien[$download]))
  {
    echo(
"<html>\n");
    echo(
"<head>\n");
    echo(
"<title>Fehler!</title>\n");
    echo(
"</head>\n");

    echo(
"<body>\n");
    echo(
"<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n");
    echo(
"    <tr>\n");
    echo(
"        <td align=\"center\" valign=\"middle\" width=\"100%\" height=\"100%\">");
    echo(
"        <b>Datei (".$download.") nicht vorhanden.</b>\n</td>\n");
    echo(
"    </tr>\n");
    echo(
"</table>\n");
    echo(
"</body>\n");
    echo(
"</HTML>\n");
    die();
  }

// Header-Daten erzeugen
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($dateien[$download]));
header("Content-Disposition: attachment; filename=\"".basename($dateien[$download])."\"");

// Datei ausgeben.
readfile($dateien[$download]); 
Auf diese Weise können nur Dateien heruntergeladen werden, die auch in dem Array stehen. Aufgerufen wird die Seite dann z.B. mit: http://domain.de/user/download.php?x=download_name

Mfg
KoЯn
Mit Zitat antworten
  #8 (permalink)  
Alt 27.06.2005, 17:21
Benutzerbild von RaBe59
Registrierter Nutzer
 
Registriert seit: 30.08.2004
Ort: Karlsruhe
Beiträge: 1.486
Zitat:
Zitat von Quidoff
Ich mache es auf meiner Homepage genauso wie es RaBe59 gepostet hat. Aber dieses Script hat eine Sicherheitslücke, weil man damit jede beliebige Datei auf dem Server herunterladen kann.
Ja klar, das ist auch nur die minimalst-Version. Anstandshalber sollte man auch noch einen if (!file_exists()) { } else { } einbauen, weil der Besucher sonst die Fehlermeldung statt des gewünschten .jpg bekommt. Dass nur bestimmte Dateien heruntergeladen werden können, lässt sich z.B. auch dadurch erreichen, dass diese Dateien alle mit z.B. dl_ beginnen müssen: if (!strpos($_GET['filename'],'dl_')===0) die('Netter Hack-Versuch!');

Das spart das editieren des scripts, wenn eine neue Datei hinzukommt.

Du könntest auch array(1=>'photo.jpg',2=>'Muster.html',3=>'smily.gi f') schreiben und dann mit ?x=1,2,3 aufrufen...
__________________
Hardware ist weiblich und benimmt sich auch so, wenn man sie falsch begreift!!
Mit Zitat antworten
Sponsored Links
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 an



Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
© 2002-2012 - www.dsl-user.de -