Peter: Aufrufschutz mit .htaccess und PHP

Beitrag lesen

Hallo, ich brauche doch mal eure Hilfe… In einem Ordner sind PDF-Dateien abgelegt die bislang direkt, das heisst per Link auf die Datei im Browser angezeigt werden. Jetzt muss aber dieser Aufruf kontrolliert werden, d.h. das technisch gesehen zwar der Link nach wie vor genutzt werden soll, intern aber dann per htaccess eine PHP-Datei angesprochen werden soll die den zulässigen Zugriff prüft und dann bei positiver Prüfung die Datei ausliefert bzw. bei negativem Ergebnis zu einer Login-Seite leiten soll. Ich habe die htaccess wie folgt aufgebaut:

RewriteEngine on
RewriteRule (.*)\.pdf$ https://pfad_zur_pruefdatei.php?dt=$1

Diese scheint auch so zu funktionieren. Die PHP-Datei sind (gekürzt) so aus:

<?php
session_start();
if(is_numeric($_SESSION['uid']) && $_SESSION['uid']>0) { # Benutzer eingeloggt
	$uid = $_SESSION['uid'];
	if(isset($_GET['dt']) && $_GET['dt']!='') { # Aufruf via Direkturl auf die PDF (alte Links)
		$datei = $_GET['dt'];
	  header('Content-Type: application/pdf');
		readfile("absoluter_pfad_zur_pdf/".$datei);  
	}
} else { # Kein aktiver Login
	header("Location:loginseite.php");
}
?>

Mein Problem ist nun, das die PHP angesprochen wird, aber die PDF eine 0-byte-Datei ist, d.h. keine Ausgabe. Und das ist mein Problem, ich kann nicht nachvollziehen, warum dort nichts ankommt.

VG Peter