Du kannst den HTTP_REFERER überpüfen.
Direkt-Links auf Dateien verhindern
Einklappen
X
-
Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]
-
Ah, supi, danke. Ich hab das einfach mal gegoogelt und direkt der erste Code-Schnipsel bringt den gewünschten Erfolg:
PHP-Code:<?php
$mydomain = 'blabla.de';
if( $_SERVER['HTTP_REFERER'] != "" || preg_match("/http:\/\/(www\.)?$mydomain\//i",$_SERVER['HTTP_REFERER']) > 0 )
{
echo "Juhu!";
}
else
{
echo "Ätsch!!";
}
?>
Kommentar
-
Hrm. Jo, ich hab eben auch noch ein Problem bemerkt.
Ich habe mein Script nun so angepasst, dass dort wo "Juhu!" steht der Download ausgeführt wird, und dass dort wo oben das "Ätsch!" steht man per header("Location: x"); zu entsprechender Seite weitergeleitet wird.
Gibt man www.bla.de/download.php?id=x in die Adresszeile des Browsers ein, dann funktioniert das auch so wie es soll und man wird zu dem EIntrag mit entsprechender ID weitergeleitet.
Klickt man dann im Eintrag auf "Download" dann wird der Eintrag korrekt heruntergeladen. Soweit so gut.
Ist nun aber auf einer andere HP ein Direktlink zum Download, dann wird man aber nicht weitergeleitet, sondern der Download startet sich direkt.
Liegt das an dem von dir erwähnten "Nicht immer übergeben werden" ?
Meinst du das mit der Session-Variablen so, dass auf der Seite, die den Eintrag zeigt eine Session erzeugt wird und darin eine Variable erstellt wird, deren existenz im Downloadscript VOrraussetzung für den Start des Downloads ist ? Gute Idee eigentlich. Gibt es dabei den auch Wege das zu umgehen, oder kann ich dann relativ sicher sein, dass ein Download nur von der Seite, die die Beitrag zeigt möglich ist ? :>
Kommentar
-
ich würde auch die session-lösung bevorzugen.
bei dem referer besteht die gefahr, user auszusperren:
12.3. Warum ist es schlecht, mit dem Referer zu arbeiten?
Kommentar
-
Meinst du das mit der Session-Variablen so, dass auf der Seite, die den Eintrag zeigt eine Session erzeugt wird und darin eine Variable erstellt wird, deren existenz im Downloadscript VOrraussetzung für den Start des Downloads ist ? Gute Idee eigentlich. Gibt es dabei den auch Wege das zu umgehen, oder kann ich dann relativ sicher sein, dass ein Download nur von der Seite, die die Beitrag zeigt möglich ist ? :>
Kommentar
-
Original geschrieben von Azadoras
Meinst du das mit der Session-Variablen so, dass auf der Seite, die den Eintrag zeigt eine Session erzeugt wird und darin eine Variable erstellt wird, deren existenz im Downloadscript VOrraussetzung für den Start des Downloads ist ? Gute Idee eigentlich.
Original geschrieben von Azadoras
Gibt es dabei den auch Wege das zu umgehen, oder kann ich dann relativ sicher sein, dass ein Download nur von der Seite, die die Beitrag zeigt möglich ist ? :>
ist nur die frage wieviel aufwand es dir oder der gegenseite wert ist.
richtig sicher wirst du es nur mit einem login-system bekommen.
Kommentar
Kommentar