Morgen,
diesmal ein etwas größeres Problem, für welches es kein fertiges Plugin gibt, jedenfalls hab ich keins gefunden.
Und zwar sollen User in meinem Blog Dateien nur herunterladen dürfen, wenn diese (User) eingeloggt sind. Von außen soll kein Zugriff auf die Dateien möglich sein, nur wenn der Wordpress-User eingeloggt ist. Ich war komplett ratlos und holte mir Hilfe bei
Lukas.
Dieser schlug vor, dass Downloadverzeichnis bzw. die Dateien mittels htaccess vor HTTP-Zugriffen von außen zu schützen. Dies klappte auch, man kann nun nicht mehr auf die Dateien zugreifen. Da schlug er weiter vor, eine neue Download-Datei zu erstellen, welche eingeloggten Usern den Download ermöglicht. Das ganze soll ungefähr so aussehen:
Code:
<?php global $user_ID; global $userdata;
get_currentuserinfo(); //Wordpress-Funktion
if ('' == $user_ID) { $loggedin = false; } else { $loggedin = true; } // ich prüfe ob eingeloggt
if (isset($_GET['file']) && !is_array($_GET['file']) && $_GET['file'] != '' && strlen($_GET['file']) < 2)
{
$requestedfile = $_GET['file'];
switch($loggedin)
{
case true:
header('Content-Disposition: Download; filename='.basename($requestedfile));
echo file_get_contents('/ddl/'.basename($requestedfile));
break;
case false:
}
?>
HIER
HTML FÜR ZUGRIFF VERBOTEN
<?php
}
?>
Der Theorie nach sollte das klappen, allerdings praktisch nicht, da wie erwartet wenn ich die Datei aufrufe meckert der Server, dass er die Funktion get_currentuserinfo() nicht kennt. Ich müsste es also irgendwie hinbekommen, dass ich von dieser Datei auf den Wordpress-Kontext zugreifen kann. Bloß wie?
Hat jemand ne Idee oder weiß einen anderen Weg wie Dateien nur von eingeloggten Usern heruntergeladen werden dürfen?
Besten Dank schonmal