Hallo liebes Forum,
ich benötige bei einer Website Link-Verschlüsselung.
Die links sollen sozusagen nur einmal gültig und verschlüsselt sein.
Wenn möglich, sollen diese auch nach einer vorgegebenen Zeit ablaufen.
kann mir da jemand einen Tipp geben wie das funktioniert?!
Vielen Dank
Alex
Hi,
was verstehst du unter verschlüsselten Links?
Gruss
Ford
Hi Ford,
naja - wenn man zB jumpurl.Secure=1 setzt, dann wird ja auch ein link erzeugt, der etwas "komisch" aussieht!
Verschlüsseln meine ich so:
Der link soll die eigentliche Adresse nicht zeigen, soll an eine Session gekoppelt sein und soll nach einem "Ablaufdatum" wieder gelöscht werden.
Hast da vielleicht eine Idee? Wäre Obersuperst 😉
LG Alex
Hi,
willst du diesen im RTE verwenden oder kann das aus einer Extension heraus passieren. wenn 2. dann eine extension proggen.
Gruss
Ford
kann ruhig aus einer Extension raus passieren.
Aber wie soll ich das angehen - ich meine, wie verschlüsselt man solche links? Kannst mir da noch nen Tipp geben?
Danke
LG Alex
Hi,
folgende Annahmen:
Du hast eine Extension angelegt die eine Datenbank umfasst in welcher die Downloads als Datensätze abgelegt sind, wie z.B. News.
So, du legst im Kickstarter die Tabelle an und kannst da Dateien aus dem Fileadmin angeben, einen Linktitel sowie eine kurze Beschreibung und das Datum wenn der Link abgelaufen sein soll.
So, dann erstellst du über den Kickstarter in der selben Extension ein Plugin. Die funktionalität musst du nun im Plugin programmieren.
du liest die Datenbank aus und erstellst anhand der ID einen link. Anhand der übergebenen id liest du aus der datenbank den Dateinamen aus und gibst die Datei per PHP aus. Musst header und so setzten. Und prüfst natürlich ob der Link noch gültig ist.
Sorry das das ein wenig kauderwelsh geschreiben ist, hope you understand.
Gruss
Ford
perfect - indeed, it helps! :p
Super, jetzt hab ich mal eine Grundlegende Idee wie ich's angehen kann.
Hast du zufällig schon mal sowas in der Richtung umgesetzt?
cheers
-alex
Hi,
jup, hab ich, als Hilfestellung post ich mal den Code für den Download, der Rest ist EasyPHP.
// Dateityp, der immer abgespeichert wird
if(isset($_SERVER['HTTP_USER_AGENT']) && preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT'])) {
// IE Bug in download name workaround
@ini_set( 'zlib.output_compression','Off' );
}
$file_extension = strtolower(substr(strrchr($fileName[(count($fileName)-1)],"."),1));
$ctype="application/force-download";
@ob_end_clean();
//Begin writing headers
header("Pragma: public");
header("Expires: 0");
header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1
header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: ".$ctype."");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
if(!strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 5."))
header("Content-Disposition: attachment; filename=\"".$fileName[(count($fileName)-1)]."\";" );
else
header("Content-Disposition: inline; filename=\"".$fileName[(count($fileName)-1)]."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($file));
#readfile($file);
if ($fp = fopen($file, 'rb')) {
while(!feof($fp) and (connection_status()==0)) {
print(fread($fp, 1024*8-));
flush();
}
fclose($fp);
}
exit;
Muß man an machen stellen anpassen
Gruss
Ford
SPITZE! Vielen Dank!!! :p
Dann mach ich mich mal an die Arbeit!
LG Alex