pfc Geschrieben 27. Juni 2004 Teilen Geschrieben 27. Juni 2004 Hi zusammen, nach endlosen goolge Stunden bin ich leider noch nicht nach solch einem Script fündig geworden: Ich suche ein einfaches php script, mit dem ich neber einem angebotenen .mp3 den Counter ausgeben kann, wie oft ein song runtergeladen wurde. Weiter soll es den tatsächlichen Link "verschleiern", also das man nicht extern darauf verlinken kann (In der art /download.php?=id4 oder so) MySql Datenbank vorhanden, Textfile Databse auch OK? Kann mir jemand was empfehlen? Gruß, pfc Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kLeiner_HobBes Geschrieben 27. Juni 2004 Teilen Geschrieben 27. Juni 2004 $dateiname = ermittle_dateiname($_GET["id"]); $pfad = "/irgendwas/"; if (is_file($pfad.$dateiname) && file_exists($pfad.$dateiname)) { header("Cache-control: private"); header("Content-Type: application/octet-stream"); header("Content-Length: ".filesize($pfad.$dateiname)); header("Content-Disposition: filename=$dateiname); @readfile($pfad.$dateiname); erhoehe_zaehler_um_eins($_GET["id"]); } else { echo "<h2>fehlermeldung</h2>"; }[/PHP] Ansatzweise. Meine Funktionen solltest du durch sinnvolle ersetzen Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 28. Juni 2004 Teilen Geschrieben 28. Juni 2004 $dateiname = ermittle_dateiname($_GET["id"]); $pfad = "/irgendwas/"; if (is_file($pfad.$dateiname) && file_exists($pfad.$dateiname)) { header("Cache-control: private"); header("Content-Type: application/octet-stream"); header("Content-Length: ".filesize($pfad.$dateiname)); header("Content-Disposition: filename=$dateiname); @readfile($pfad.$dateiname); erhoehe_zaehler_um_eins($_GET["id"]); } else { echo "<h2>fehlermeldung</h2>"; }[/PHP] Ansatzweise. Meine Funktionen solltest du durch sinnvolle ersetzen Gruß hier wurde alles gesagt! eine kleine verbesserung noch, da ein " gefehlt hat. [PHP] $dateiname = ermittle_dateiname($_GET["id"]); $pfad = "/irgendwas/"; if (is_file($pfad.$dateiname) && file_exists($pfad.$dateiname)) { header("Cache-control: private"); header("Content-Type: application/octet-stream"); header("Content-Length: ".filesize($pfad.$dateiname)); header("Content-Disposition: filename=". $dateiname); // hier hat ein " gefehlt @readfile($pfad.$dateiname); erhoehe_zaehler_um_eins($_GET["id"]); } else { echo "<h2>fehlermeldung</h2>"; } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 28. Juni 2004 Teilen Geschrieben 28. Juni 2004 und was genau gibt hier an, dass das file nicht von extern verlinkt werden darf?? ich kanns nicht sehn *schäm*. anmerkung: bei mp3.de geht das ja über verschlüsselte (md5 o.ä.) ids die sich täglich ändern. man kann nämlich wohl von extern auf einen song direkt verlinken wenn man diese id hat, aber eben nur einen tag lang... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 28. Juni 2004 Teilen Geschrieben 28. Juni 2004 und was genau gibt hier an, dass das file nicht von extern verlinkt werden darf?? ich kanns nicht sehn *schäm*. anmerkung: bei mp3.de geht das ja über verschlüsselte (md5 o.ä.) ids die sich täglich ändern. man kann nämlich wohl von extern auf einen song direkt verlinken wenn man diese id hat, aber eben nur einen tag lang... Hi forTeesSake, du kannst es nicht sehen, da es nicht da ist . Der Threadsteller hat sich selbst in der aufgabenstellung wiedersprochen: Durch dieses Verhalten... (In der art /download.php?=id4 oder so) schließt er automatisch die 2. Anforderung.... also das man nicht extern darauf verlinken kann aus. Wie du schon sagst, wäre eine täglich ändernde ID eine mögliche Lösung des Problems, aber dies würde einen höheren Aufwandt bedeuten vermute ich. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kLeiner_HobBes Geschrieben 28. Juni 2004 Teilen Geschrieben 28. Juni 2004 man könnte jetzt natürlich in das Script noch einbauen, daß er die referer-Variable loggt (ich glaube, das war $_SERVER["REFERER"] oder so), dann weiß man evtl., woher verlinkt wurde. Ein Schritt weiter wäre, die referer-Variable daraufhin zu prüfen, ob der User von deiner Domain kommt und nur dann den download erlaubt. (Zur Erklärung: Die referer-Variable wird IMO von den meisten Browsern an den Webserver mitgegeben und beinhaltet die in diesem Browserfenster zuletzt aufgerufene Web-Adresse). Gruß Benjamin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 28. Juni 2004 Teilen Geschrieben 28. Juni 2004 Wie wäre es, wenn du die ID verschlüsselst? Notwendig bsp. die Mcrypt Encryption Functions von PHP. Die ID kann z.B. mit dem aktuellen Datum veschlüsselt werden. Beim anklicken wird wieder entschlüsselt und der Download kann starten. (Einziges Problem: so gegen Mitternacht, könnten Fehler auftreten, da der Link dann veraltet ist). Ist aber eben nur ein Vorschlag. DAHER sollte die Verschlüsselung noch etwas unfangreicher gestaltet werden. Du kannst ja den Schlüssel für jeden Tag beim ersten Aufruf des Tages neu erzeugen und dann in eine DB schreiben lassen. Das wäre dann auch recht einfach mittels unique() möglich. Ich hoffe, ich konnte dir nen kleinen Denkanstoss geben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 28. Juni 2004 Teilen Geschrieben 28. Juni 2004 @enrico: danke dass du meine post noch mal ausgeführt hast ich glaube aber auch, dass die "referer" sache das einfachste wäre. WENN teil(referer) != <eigene domain/seite(n)> ODER referer == "" DANN: nix download Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 28. Juni 2004 Teilen Geschrieben 28. Juni 2004 WENN teil(referer) != <eigene domain/seite(n)> ODER referer == "" DANN: nix download Vielleicht wäre es sinnvoll, auch bei leerem referer den download fortzusetzen, da wie schon gesagt wurde nicht bei jedem browser dieser mitgeliefert wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 28. Juni 2004 Teilen Geschrieben 28. Juni 2004 hmm schwierig, dann lieber die andere lösung, denn ich glaube dass bei einer weiterleitung per meta tag auch kein referer mitgeliefert wird. dann kann man sich ne seite auf nem eigenen server basteln und per meta tag auf die download datei weiterleiten. und zack! kann man die datei problemlos runterladen weil der referer leer ist bitte korrigier(t) mich wenn ich falsch liege Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pfc Geschrieben 28. Juni 2004 Autor Teilen Geschrieben 28. Juni 2004 Der Threadsteller hat sich selbst in der aufgabenstellung wiedersprochen: Durch dieses Verhalten...schließt er automatisch die 2. Anforderung.... aus. Tjoa, da her er recht Jedenfalls immer noch besser, als /download/ladmichrunter.mp3 ... Danke kLeiner_HobBes, dann werd ich das mal einzubinden versuchen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ssambdar Geschrieben 1. Juli 2004 Teilen Geschrieben 1. Juli 2004 Wenn man ein wenig Lust hat zu basteln, geht auch folgende Variante zum sichern der Dateien: Wer auf einen Download-Link klickt, wird auf eine "Zwischenseite" weitergeleitet. Hier kann man 1. Werbung unterbringen und 2. kann man hier eine Sicherung einbauen. Beim Aufruf der Zwischenseite wird ein zufälliger Code generiert und dieser in einer Datenbank mit Zeitstempel gespeichert. Ebenfalls auf dieser Zwischenseite wird der Link noch einmal wiederholt in der Form <a href="download.php?id=12&code=A3B5F1">Link</a>. Beim Aufruf der download.php wird dann überprüft, ob der code in der Datenbank drinsteht, ob der Code zu diesem MP3 gehört und ob der Code nicht älter als z.B 15 Minuten ist. Nur mal so eine Idee... Code gibt's jetzt nicht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 1. Juli 2004 Teilen Geschrieben 1. Juli 2004 Wenn man ein wenig Lust hat zu basteln, geht auch folgende Variante zum sichern der Dateien: Wer auf einen Download-Link klickt, wird auf eine "Zwischenseite" weitergeleitet. Hier kann man 1. Werbung unterbringen und 2. kann man hier eine Sicherung einbauen. Beim Aufruf der Zwischenseite wird ein zufälliger Code generiert und dieser in einer Datenbank mit Zeitstempel gespeichert. Ebenfalls auf dieser Zwischenseite wird der Link noch einmal wiederholt in der Form <a href="download.php?id=12&code=A3B5F1">Link</a>. Beim Aufruf der download.php wird dann überprüft, ob der code in der Datenbank drinsteht, ob der Code zu diesem MP3 gehört und ob der Code nicht älter als z.B 15 Minuten ist. Nur mal so eine Idee... Code gibt's jetzt nicht Solche vorgänge ala "www.Chip.de" machen das Downloaden unkomfortabler Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pfc Geschrieben 2. Juli 2004 Autor Teilen Geschrieben 2. Juli 2004 Hi, hab hier noch was interessantes Gefunden: http://www.webmaster-resource.de/tricks/php/download-zaehler-mit-php-und-mysql-teil-1.php Hab mir daran gestern die Zähne ausgebissen, irgendwie beschreibt die Anleitung nicht, wie der Autor das script schlussendlich einzusetzten gedenkt. MIt mysql, aber nur einer kleinen tabelle. Vielleicht hat ja mal jemand lust, es nachzustellen... Gruß, pfc Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 2. Juli 2004 Teilen Geschrieben 2. Juli 2004 hehe, lustich, fast das selbe habe ich vor ein paar tagen für meine firma fertiggestellt. eine nette kline statistik über den besuch von internetseiten, die auch bei kunden eingebunden werden kann (sowohl das schreiben über externes include, als natürlich auch die grafische auswertung) was aber dein (verständnis)problem angeht kann ich dir nicht helfen. steht doch alles detailliert drin, und nen download gibts auch. und ne frage: was hat das denn mit deinem thema zu tun? da wird ja kein download eingeschränkt (du wolltest doch einen download von extern unterbinden ja?) sondern einfach nur ne website zugriffsstatistik geschrieben... bis denne Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pfc Geschrieben 2. Juli 2004 Autor Teilen Geschrieben 2. Juli 2004 das mit dem download von extern haben wir schonweiter oben geklärt (dass ich doch erst eher nur den download counter brauch...) "was aber MEIN (verständnis) problem " angeht, wurst du wahrscheinlich erst verstehen, wenn Du es, wie in meiner bitte, nachstellen würdest Denn ja, es gibt ne tolle anleitung, ja, man kann die fertigen .php's sogar runterladen, aber nein, es funktioniert einfach nicht. Und der Login auf die Admin Seite klappt schon gar nicht. Das mag an mir leigen, kann aber auch am script leigen, daher meine bitte, ob es jemand mal testen möchte cya Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 2. Juli 2004 Teilen Geschrieben 2. Juli 2004 oh sorry, ich hab kein abschliessende "thema erledigt gesehen", hab aber die letzten posts nur noch überflogen (schande) viel erfolg! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
.vash Geschrieben 3. Juli 2004 Teilen Geschrieben 3. Juli 2004 ich weiss ja nicht wie das skript oben aussieht, aber im Prinzip reicht doch ein symbolischer Link auf eine Datei, welcher nach einer gewissen Zeit eben wieder geloescht wird. Dazu benoetigt ein Apache Server die Konfiguration: FollowSymlinks On oder so aehnlich. Man braeuchte dazu nicht mal eine Datenbank wenn man den Zeitstempel des Links auswertet. IMHO die einfachste und wirksamste Loesung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pfc Geschrieben 5. Juli 2004 Autor Teilen Geschrieben 5. Juli 2004 Hallo, habe eine sehr gute Lösung gefunden: http://www.planetmattze.de/v3/scripts--9.html Hier werden nur die Hits auf jeglichen Links gezählt, im Textfile hochgezählt. Gutes script, in 2 MInuten aufgesetzt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 5. Juli 2004 Teilen Geschrieben 5. Juli 2004 Hallo, habe eine sehr gute Lösung gefunden: http://www.planetmattze.de/v3/scripts--9.html Hier werden nur die Hits auf jeglichen Links gezählt, im Textfile hochgezählt. Gutes script, in 2 MInuten aufgesetzt. eine Lösung zu der vom Threadsteller gestellten Aufgabe, stellt dieses Script aber nicht da. Wenn man davon ausgehen würde, dass ich mir an die links immer den counter mitanhänge, wäre es schon problematisch, wenn mehrere benutzer zugleich auf das script zugreifen würden, und somit während des ladens der seite die counter zahlen nicht mehr stimmen würden. so müsste man noch ein Semaphor um die ganze geschichte herumbauen, damit keine konkurrierenden Zugriffe mehr auf die Downloads möglich wären. oder verstehe ich dich falsch und du möchtest das script in anderer art und weise nutzen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pfc Geschrieben 5. Juli 2004 Autor Teilen Geschrieben 5. Juli 2004 Hi, erstma: Ich habe den threat gestartet Grundsätzlich hast Du recht, exakt zeitgleiches Zugreifen auf eine Datei stellt tatsächlich ein Problem da, nur wenn die Zugriffe minimal unterschiedlich Auftreten, zählt das script natürlich hoch, und ja, der tatsächlich angezeigte counterstand wird nur beim refreshen sichbar. (da via echo "textfile inhalt ausgeben" nur die im Textfile befindliche Zahl ausgelesen wird) Ist für mich aber durchaus ausreichend. gruß, pfc Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 5. Juli 2004 Teilen Geschrieben 5. Juli 2004 Hi, erstma: Ich habe den threat gestartet ups Grundsätzlich hast Du recht, exakt zeitgleiches Zugreifen auf eine Datei stellt tatsächlich ein Problem da, nur wenn die Zugriffe minimal unterschiedlich Auftreten, zählt das script natürlich hoch, und ja, der tatsächlich angezeigte counterstand wird nur beim refreshen sichbar. (da via echo "textfile inhalt ausgeben" nur die im Textfile befindliche Zahl ausgelesen wird) Ist für mich aber durchaus ausreichend. gruß, pfc na dann, viel glück damit Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.