Downloads Schutz
Downloads Schutz
Hallo, suche ein script hoffe mir kann jemand helfen.
Also ich suche ein script mit den ich meine downloads vor fremdverlinkungen schützen kann. am besten ein mit session_id der die immer abgleicht. hoffe mir kann da jemand helfen :)
Vielen Dank
Also ich suche ein script mit den ich meine downloads vor fremdverlinkungen schützen kann. am besten ein mit session_id der die immer abgleicht. hoffe mir kann da jemand helfen :)
Vielen Dank
-
- Posts: 485
- Joined: 2004-03-30 10:06
Re: Downloads Schutz
http://phpatm.free.fr/ ... müssen ja keine uploads freigegeben werden ;)
Re: Downloads Schutz
ich glaub hab mich net richtig ausgedrückt ...
also hab ne homepage wo ich downloads anbiete ... und jetzt mach ich manchmal downloads auf mein server und diese datei möcht ich vor fremdverlinkung schützen
also hab ne homepage wo ich downloads anbiete ... und jetzt mach ich manchmal downloads auf mein server und diese datei möcht ich vor fremdverlinkung schützen
-
- Posts: 84
- Joined: 2006-01-04 12:09
- Location: Lichtenfels
Re: Downloads Schutz
Mit mod_rewrite vom Apache kann man sowas z.B. realisieren, dann muss der "Downloader" zumindest auf einer Seite von dir gewesen sein..._Walter_ wrote:also hab ne homepage wo ich downloads anbiete ... und jetzt mach ich manchmal downloads auf mein server und diese datei möcht ich vor fremdverlinkung schützen
Kann aber sein das manche User-Agent's das net richtig mitmachen...
mfg Betz Stefan
PS: Bevor du wieder fragst: http://httpd.apache.org/docs/1.3/misc/rewriteguide.html
-
- Posts: 215
- Joined: 2003-10-26 17:57
Re: Downloads Schutz
Ich habe mir am Wochenende selbst eins gebastelt,
Habe die Daten in einem Ordner der nicht übers web erreichbar ist liegen.
Wenn ein User eine Datei Downloaden will, erstellt ein php script einen ordner, in diesem Ordner wird dann noch ein symlink erstellt und fertig.
Ein cronjob löscht dann Ordner die älter als 10 minuten sind.
funktioniert super.
So haste 100% schutz vor fremdverlinkung. Da die eigentlich datei nicht übers web abrufbar ist.
Habe die Daten in einem Ordner der nicht übers web erreichbar ist liegen.
Wenn ein User eine Datei Downloaden will, erstellt ein php script einen ordner, in diesem Ordner wird dann noch ein symlink erstellt und fertig.
Ein cronjob löscht dann Ordner die älter als 10 minuten sind.
funktioniert super.
So haste 100% schutz vor fremdverlinkung. Da die eigentlich datei nicht übers web abrufbar ist.
-
- Posts: 215
- Joined: 2003-10-26 17:57
Re: Downloads Schutz
Direkt mein script nicht, aber ich kann dir code schnipsel geben:
Du hast die eigentlichen datei z.B. in:
/srv/www/htdocs/web1/files/dateiname.exe
liegen.
Die Daten die im Web erreichbar sein sollen liegen z.B.
/srv/www/htdocs/web1/html/downloads/
dieses kleine script erstellt einen Ordner mit einer zufallszahl.
Dein generierter Downloadlink sieht dann z.B. so aus:
http://www.domainname.de/downloads/6184 ... einame.exe
Das Script zur löschung der älteren Ordner nach x Minuten
dieses Script kommt mit in den downloads ordner und wird dann per cronjob ausgeführt.
naja hoffe ist ein anhaltspunkt. Kannst natürlich alles jetzt noch in einer Datenbank hauen...
Wenn du Fragen hast, frag
Hast du bisschen ahnung von php? Setzte ich mal jetzt vorraus.
Du hast die eigentlichen datei z.B. in:
/srv/www/htdocs/web1/files/dateiname.exe
liegen.
Die Daten die im Web erreichbar sein sollen liegen z.B.
/srv/www/htdocs/web1/html/downloads/
Code: Select all
<?php
$id_gen = rand('1000000000','9999999999');
mkdir("/srv/www/htdocs/web1/html/downloads/$id_gen/",0755);
symlink("/srv/www/htdocs/web1/files/dateiname.exe","/srv/www/htdocs/web1/html/downloads/$id_gen/dateiname.exe");
?>
Dein generierter Downloadlink sieht dann z.B. so aus:
http://www.domainname.de/downloads/6184 ... einame.exe
Das Script zur löschung der älteren Ordner nach x Minuten
dieses Script kommt mit in den downloads ordner und wird dann per cronjob ausgeführt.
Code: Select all
<?php
// 10 Minütiges Update Script Downloadscript.
$fp = opendir("/srv/www/htdocs/web1/html/downloads/");
while ($datei = readdir($fp)) {
if (($datei == ".") || ($datei == "..") || ($datei == "cronjob.php")){
}else{
$datei_stat = stat("$datei");
$erstelldatum = $datei_stat[10];
$erstelldatum_div = $erstelldatum + 600;
if (mktime() > $erstelldatum_div){
$fp2 = opendir("/srv/www/htdocs/web1/html/downloads/$datei/");
while ($datei2 = readdir($fp2)) {
if (($datei2 == ".") || ($datei2 == "..") || ($datei2 == "cronjob.php")){
}else{
unlink("/srv/www/htdocs/web1/html/downloads/$datei/$datei2");
}
}
rmdir("/srv/www/htdocs/web1/html/downloads/$datei");
}
}
}
?>
Wenn du Fragen hast, frag
Hast du bisschen ahnung von php? Setzte ich mal jetzt vorraus.
-
- Posts: 45
- Joined: 2003-11-02 22:17
Re: Downloads Schutz
klasse Script, doch wie sieht es aus wen der Download noch nicht FErtig ist? Ich denke da an größere Downloads und ISDN oder gar Modem nutzer. Was passiert mit dem Download wenn die der Link nach 10 min. gelöscht wurde?
-
- Posts: 215
- Joined: 2003-10-26 17:57
Re: Downloads Schutz
Also ich hatte es getestet hab was geladen und dann gelöscht...
hat munter weiter geladen ^^
hat munter weiter geladen ^^
-
- Posts: 291
- Joined: 2003-11-26 18:43
- Location: earth
Re: Downloads Schutz
Hi...
Mögliche Alternative: http://www.php-faq.de/q/q-datei-download.html
Wenn du das jetzt noch an deine Bedürfnisse anpasst (Datenbankanbindung, Sessionkeys, usw.) dann hast du imho eine wesentlich performantere Lösung.
:roll:
deine Lösung in Ehren, aber das ist in meinen Augen bei entsprechenden Downloadzahlen Ressourcenverschwendung (in Form von unnötig viel Schreib-/Leseoperationen).Tischi wrote:Direkt mein script nicht, aber ich kann dir code schnipsel geben:
Mögliche Alternative: http://www.php-faq.de/q/q-datei-download.html
Wenn du das jetzt noch an deine Bedürfnisse anpasst (Datenbankanbindung, Sessionkeys, usw.) dann hast du imho eine wesentlich performantere Lösung.
:roll:
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Downloads Schutz
Klar, der Filedescriptor ist ja weiterhin offen...Tischi wrote:Also ich hatte es getestet hab was geladen und dann gelöscht...
hat munter weiter geladen ^^