Download-Protector

PHP:
<?php
$defaulturl = "http://www.deineurl.com/suckit.php";

$httpref = $HTTP_REFERER;
$reffer = substr($httpref, 0, 27);
if (eregi("www.deineurl.com",$reffer)) {
header("Location: http://www.deineurl.com/download/$file");
} else {
header("Location: $defaulturl");
}
?>
Okay, zur Erklärung:
$defaulturl ist die URL die bei einem unerlaubten Aufruf des Download-Links angezeigt wird.

$httpref enthält den referer, das heißt: den Ursprung des Links. Wenn ein link von z. B. http://www.wasweissich.de/downloads/wasserkopf.php ausgeht, ist das sobald man darauf klickt, der referer. Ein referer direkt aus dem Browser (Link per hand in die Adressleiste eingeben) ist z. B. NICHT VORHANDEN, da kein Link existiert auf den man geklickt haben könnte.

$reffer = substr($httpref, 0, 27); begrenzt den referer auf 27 Zeichen (die letzte Zahl), das ist gegen Links gedacht, die z. B. in einem ordner untergebracht sind, der so heißt wie die domain. Die Zahl sollte an die Länge der Domain angepasst werden.

if (eregi("www.deineurl.de",$ref)) ist eine ganz simple regex-Abfrage (hier recht simpel, es geht auch exrem komplex )

-> es folgt als Ausgabe der Wert TRUE oder FALSE (wahr / unwahr)

bei True:

header("Location: http://www.deineurl.de/downloads/$file"); wird dies den link aufrufen und das downloadfenster öffnen.

bei False (also wenn NICHT http://www.deineurl.de im referer vorkommt):
header("Location: $defaulturl"); wird die defaulturl angesprochen, am besten eine schöne seite, die linkstealer ausschimpft *g*.

Dieses script kommt in eine php-Datei, z. B. download.php und die links werden dann wie folgt geschrieben:
http://www.deineseite.de/download.php?file=dateiname.zip


Wie gesagt, dies soll etwas ganz einfaches sein. Ich hoffe es ist ein schöner Ansatz für Anfänger. Das Script ist totally free, use it, copy it, modify it ... suckit

so... ich habe es auch mal probiert umzusetzen...

PHP:
<?php
$defaulturl = "http://www.pcgames.de/index.cfm?menu=0610";

$httpref = $http://www.bignappo.com/downloadz3.htm;
$reffer = substr($httpref, 0, 39);
if (eregi("www.bignappo.com",$reffer)) {
header("Location: http://www.bignappo.com/downloadz3/$hm.rm");
} else {
header("Location: $http://www.pcgames.de/index.cfm?menu=0610");
}
?>

es muss aber irgenedwo ein fehler drin sein finde ihn aber nicht. denn ich kann weder das file noch runterladen noch kommt die fehlermeldung

bye
 
PHP:
<?php
$defaulturl = "http://www.pcgames.de/index.cfm?menu=0610";

$httpref = $HTTP_REFERER;
$reffer = substr($httpref, 0, 39);
if (eregi("www.bignappo.com",$reffer)) {
header("Location: ["url"]http://www.bignappo.com/downloadz3/["/url"]$hm.rm");
} else {
header("Location: $["url"]http://www.pcgames.de/index.cfm?menu=0610["/url"]");
}
?>
so ???
 
Hmn,das Board zerhaut hier irgendwie wieder was hab ich im Gefühl.
Beo der header() Funktion musst du einfach einen Pfad zu einer Datei angeben.
Keinen Hyperlink.
Nicht mehr und nicht weniger.
 
dann siehts bei mir so aus der zeigt aber den fehler seite nicht gefunden:

PHP:
<?php
$defaulturl = "http://www.pcgames.de/index.cfm?menu=0610";

$httpref = $HTTP_REFERER;
$reffer = substr($httpref, 0, 41);
if (eregi("www.bignappo.com",$reffer)) {
header("Location:downloadz3/$hm.rm");
} else {
header("Location: $[url']http://www.pcgames.de/index.cfm?menu=0610[/url']");
}
?>
 
also ich habs etwas überarbeitet:

<?php
$defaulturl = "www.web.de";

$httpref = $HTTP_REFERER;
$reffer = substr($httpref, 0, 27);
if (eregi("www.bignappo.com",$reffer)) {
header("Location: http://www.bignappo.com/musik/$file");
} else {
header("Location: $defaulturl");
}
?>

also ich habe einen ordner erstellt wo eine testdatei ist imordner

musik/test.mp3


bitte hleft mir weiter ich habe leider gar keine ahnung von php. Sollte es so klappen oder ist vielleicht die zahl 27 falsch ??? oder viellecht doch was vergessen ?
 
Hatte Dir gerade eine PN geschickt. Und jetzt sehe ich Du meinst die EINFACHE Version des Protectors, ups. Hatte eigentlich nicht erwartet das es da Probleme gibt (wenn man den Code so läßt wie er ist) :-)

Die "27" sollte durch die Länge der URL (hier: http://www.bignappo.com = 23) ersetzt werden.

PHP:
if (eregi("www.bignappo.com",$reffer))

Dann solltest Du die Links in eine andere Datei setzen:

Downloads von mir aus in -> download.html
die Links verweisen dann auf die Protector-Datei.

Wer am Code herumbastelt ohne groß Ahnung zu haben, sollte sich nicht wundern wenn es nicht geht :-)

Dieser Protector ist aus MEINER PHP-Anfangszeit :)
 
ohh man ohh man ich weiss wirklich nicht mehr weiter *heul*

vor einigen tagen gings da habe ich neue downloads zur verfügung gestellt und jetzt wieder sowas.


PHP:
<?php
$defaulturl = "www.bignappo.com";

$httpref = $HTTP_REFERER;
$reffer = substr($httpref, 0, 26);
if (eregi("www.bignappo.com",$reffer)) {
header("Location: http://www.mynetcologne.de/~nc-schmitma88/norton2003/$file");
} else {
header("Location: $defaulturl");
}
?>

und hier ist der direkte pfad zur url:
http://www.mynetcologne.de/~nc-schmitma88/norton2003/C.mp3


sOoOoOoOo: wieso kann ich jetzt nur durch denn direkten link runterladen aebr nicht durch die download.php variante

wie ihr sehen könnt ist ja der track online (http://www.mynetcologne.de/~nc-schmitma88/norton2003/C.mp3) daran kanns also nicht liegen

die download.php datei hab ich auch hochgeladen


vielleicht könnte das jemand bei sich ausprobieren


thx in advance

cyaaa Jack

P.S. hier ist der download link in php (http://www.bignappo.com/download.php?file=C.mp3) der funz aber nicht kann ich mir aber nicht erklären :confused:
 
Zuletzt bearbeitet:
Zurück