Addressverschlüsselung

Darkhell

Erfahrenes Mitglied
Hi!

wie funktioniert das mit dem verschlüsseln von Download-addressen, wie z.b. diese hier:

Code:
http://www.kolloczek.com/cms/index.php?option=com_remository&Itemid=32&func=download&filecatid=57&chk=fbe7e9dcb4144c9e3235f58b3c60cf33

oder ähnliches.

Möchte sowas auch machen.
 
PHP:
<?php
// index.php

if (isset($_GET['option']) AND $_GET['option'] == "com_remository")
{
    if (in_array($_GET['filecatid'], $array_in_dem_alle_download_ids_drin_stehen))
    {
        Header("Location: link/zur/wirklichen/date.txt");
    } // else -> fehler
} // else -> irgendwas
?>

So, aber dabei wird halt die Datei doch vom richtigen Ort runtergeladen... ich weiß nicht, evtl. ist das dir ja schon genug
 
Du kannst es auch so machen das du für jede Datei einen Eintrag in deiner DB machst, zB:
Code:
ID | Pfad_zur_Datei  | Dateiname  | MD5 | uvm.

Den MD5 erzeugst du einfach von einer Zufallszahl oder der aktuellen Unix TIme Stamp oder von iwas anderem...
Dann gibtst du als Link einfach den MD5 Hash an und guckst in der DB welche Datei es ist... -> verschlüsselter Link
 
Hallo,

du kannst Dateien durch ein PHP-Script senden, also Beispielsweise liegen die tatsächlichen Dateien in einem geschützten Ordner, worauf man über die URL keinen Zugriff hat (z.B. http://meineurl.de/pfad/zur/datei.txt <- wird durch htaccess o.Ä. blockiert) und mittels einem Script, in das du dann gegebenenfalls Sicherheitsfunktionen einbauen kannst
(Cookie muss gesetzt sein, Code muss stimmen, man muss eingeloggt sein oder was auch immer), gibst du die Datei dann aus! (Also im Script liest du die gewünschte Datei aus dem nicht öffentlich zugänglichen Ordner ein und lässt sie vom Script dann an den Client senden)

Der Code, um die Datei zu senden könnte folgendermaßen aussehen:
PHP:
header('Content-Type: application/octetstream');
header("Content-Transfer-Encoding: binary");
header('Content-Disposition: attachment; filename="'.$zu_vergebender_dateiname.'"');
header('Content-Length: '.$groesse_der_datei);
readfile('pfad/zur/originaldatei.txt');
Wenn man nun das Script aufruft (z.B. http://meinedomain.de/sendfile.php?file_id=34234&auth_code=c7dsf7fg8dfg8s7)
öffnet sich im Browser beim Client das "Datei speichern unter"-Fenster und der als
$zu_vergebender_dateiname angegebene Name wird beim Herunterladen als Dateiname übernommen!

MfG
 
Zurück