Deeplinks verhindern

Alles, was PHP betrifft, kann hier besprochen werden.

Deeplinks verhindern

Postby Thomas27 » 02. October 2004 10:54

Hallo ich will Deeplinks zu meinen Dateien verhindern.

1. ich habe ein mp3 Portal, auf dem ich verhindern will, dass sich User den Link auf die MP3´s kopieren und auf ihren Seiten einbauen. Deshalb sollte der direkte Zugriff verhindert werden. Kann ich das irgendwie über Sessions lösen? Oder über Eintragungen in der httpd Datei?
Thomas27
 
Posts: 18
Joined: 13. September 2004 09:56

Postby Bierchen » 02. October 2004 14:20

Sessions wär ne Möglichkeit,
oder Referrer, aber viele Werbeblocker filtern den raus, also -> Tonne
Ich hatte mal ein Skript gesehen, dass immer eine .htaccess angeglichen hat, aber keine Ahnung wo das hin ist :/
Bierchen
 
Posts: 19
Joined: 16. September 2004 11:58

Postby Thomas27 » 05. October 2004 12:20

bei mir fangen die Probleme schon damit an, dass ich die .htaccess Datei nicht auf meinem Server finde.
Virtual Host, Debian, mit Confixx Konfiguration.
Außerdem würde ich die MP3 Files gerne außerhalb des Doc_roots legen, weiss aber nicht, wie ich dann noch darauf zugreifen kann.
Thomas27
 
Posts: 18
Joined: 13. September 2004 09:56

Postby adi99 » 05. October 2004 13:21

Thomas27 wrote:bei mir fangen die Probleme schon damit an, dass ich die .htaccess Datei nicht auf meinem Server finde.
Virtual Host, Debian, mit Confixx Konfiguration.

Ich denke, du könntest es schon, musst nur das FTP-Programm richtig einstellen.

Thomas27 wrote:Außerdem würde ich die MP3 Files gerne außerhalb des Doc_roots legen, weiss aber nicht, wie ich dann noch darauf zugreifen kann.


PHP. Mit fopen kannst du auch den Serverpfad eingeben...
User avatar
adi99
 
Posts: 115
Joined: 15. January 2004 16:08
Location: Switzerland

Postby Thomas27 » 06. October 2004 14:44

habe das Problem wie folgt gelöst.

Code: Select all
// $download sei der Bezeichner für die zu ladende Datei
$download = $_GET['trackid'];
// Dieses Verzeichnis liegt außerhalb des Document Root und


// ist nicht per URL erreichbar.
$basedir = "/opt/web8";
// Übersetzung von Download-Bezeichner in Dateinamen.
$title1 = preg_replace('/ /',"_",$title);
$filelist = array("$trackid" => 'files/'.'adb'.$id.'edb'.$title1.'.mp3');
// Einbruchsversuch abfangen.
if (!isset($filelist[$download]))
    die("Datei $download ist nicht vorhanden.");
// Vertrauenswürdigen Dateinamen basteln.
$filename = sprintf("%s/%s", $basedir, $filelist[$download]);
// Passenden Datentyp erzeugen.
header("Content-Type: application/zip");
// Passenden Dateinamen im Download-Requester vorgeben,
// z. B. den Original-Dateinamen
$filelist[$download] = $artistname.' - '.$title.'.mp3';
$save_as_name = basename($filelist[$download]);
header("Content-Disposition: attachment; filename=\"$save_as_name\"");
// Datei ausgeben.
readfile($filename);


Jetzt habe ich aber das nächste Problem:
Es werden automatisch Playlisten der Mp3 Files erstellt, in den m3u Files muss jetzt der Pfad rein, in dem die MP3 Datei liegt. Jetzt habe ich das Problem, das ich ja nicht mehr direkt auf das Mp3file zugreifen kann (außerhalb von doc root). Wie kann ich den Pfand in der m3u Datei so umbiegen, dass er auf das richtige MP3 File zeigt?
Thomas27
 
Posts: 18
Joined: 13. September 2004 09:56


Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests