download.php

sh0x

Erfahrenes Mitglied
liebe PHPLER

ich such ein script, was downloadanfragen bearbeitet.
man also download.php?ID=BLABLABL aufruft und die datei BLABLABL runtergeladen wird..

thnx ahead
GRRÜÜÜÜÜße & PiZ
 
hmm ich habe da eine bessere Idee ... also du machst das so das er z.b folgende Seite aufruft: download.php?id=1 und dann fragt er aus einer datenbank oder so den ort ab wo die datei liegt und dann steht z.B. auf dieser seite: download startet in 3 sek und dann leitet er dich automatisch zur File weiter ... sry für den ausdruck aber im erklären bin ich nicht gerade der beste :p aber jedenfalls müsste es so funzen
 
OK FRAGEN :)

ok, ich habe viele fragen.

damit ihr seht, dass ich nicht ganz faul war :
PHP:
<?php
header("Location: http://www.schlaglicht.com/downloads/".$dateiname);
?>

soweit komme ich ja..
nur wie geht das mit den ids und mit der anti-leech protection und mit dem maskieren des pfades?
außerdem lädt er bei mir nicht die datei runter sondern startet sie..äußerst nervig bei mp3s, die dann in irgendeinem player gestreamed werden..

erhoffe mir liebe antworten,
grüße
sh0x
 
Zuletzt bearbeitet:
anti leech protection...
bei nem unix server einfach die files eine etage tiefer ablegen *g* oder sicheres dir (htaccess oder über chmod)

mit xxx.php?file=xxx aufrufen

PHP:
<?php
$ref = eregi_replace( "http://", "", $ref );
$ref = eregi_replace( "www.", "", $ref );
$ref = eregi_replace( "/[^>]*", "", $ref );

if($ref != "xxx.de") {echo"Anti Leech Protection";} 
else {include ("../bilder/$file");}?>
 
Zuletzt bearbeitet:
vielleicht

vielleicht ne erklärung zu deinen php-zeilen?

ich versteh das noch nicht so bin doch anfänger..
grüße
bABa
 
kein problem...

zuerst sollten wir klären was link stealer sind:
link stealer sind irgendwelche hirnies die von ihrer webseite auf deinen space verlinken... wenn du zum beispiel nen trailer zu nem film bei dir liegen hast und nen anderer den nich bei sich hostet sondern einfach dden download auf deinen server verweisen lässtt, dann is das nen linkstealer. kostet dich nur traffic und ärger!

nun zu dem script...
das script überprüft per referer ob der downloadlink auch auf deiner page geklickt wurde...
wenn der jetzt irgendwo herkommt gibt es den fehler aus.

das einzige problem sind typen die referer in der firewall deaktivieren oder auch im browser und dann kommen das der dl nich geht *g*
 
ich hab da auch mal ne frage zu meinem downloadskript:

ich hab ein einfaches downloadskript gebastelt bei dem wenn man auf den link klickt ein neues fenster geöffnet wird und man dann per meta refresh angabe zur datei weitergeleitet wird. nur wie mach ich das jetzt dass sobald man auf den link klickt direkt ein "speichern unter" dialog angezeigt wird?!
 
Hallo,
hab das Script mal vor einiger Zeit geschrieben als ich das gleiche Problem mit PDF files hatte.
PHP:
<?
$file = fopen("$datei","r");
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=$datei");
fpassthru($file);
fclose($file);
?>

Zur Erklärung:
Das Script wird mit z.B. download.php?datei=song.mp3 aufgerufen. Zuerst wird die zu downloadende Datei mit fopen geöffnet und auf lesen (r) gesetzt.
Dann wird durch die header() Funktion von PHP dem Browser mitgeteilt dass es sich um einen download handelt, und die datei angegeben. Mit fpassthru($file) wird die Datei von Anfang bis Ende ausgelesen und an den Browser gesandt. (Wenn du das nicht machst kriegst du zwar auch eine Datei die downgeloaded wird, die wird auch auf deiner Platte gespeichert wird, aber nur 0 KB hat, da der Browser keine Inhalte hat) Mit fclose(); wird die Datei nach dem download wieder geschlossen.

Das Script ist universell für alle dateien die den Speichern unter Dia öffnen sollen einsetzbar.

Wenn du noch die HTTP_REFERER Variable verwendest um zu checken wo der User herkommt und dass dann mit deinem Host vergleichst, dann kannst auch eine einfache Anti-Leech Funktion einbauen.
Problem: Es unterstützen aber nicht alle Browser.

Hoffe Dir geholfen zu haben.

Cu
Chris
 
danke

vielen dank :)

kann man das mit dem anti-leech nicht irgendwie so machen, dass der pfad der datei aus einer datenbank abgerufen wird?

wie würde man das programmieren?

thnx 4 all

grüße
 
Zurück