"Alternative" zu http_referer?

Shiivva

Erfahrenes Mitglied
Also, ich such eine andere, bessere Möglichkeit Downloads zu "schützen", als über den HTTP_Referer.

Dachte eigtl. bisher, dass das die beste, u.v. einfachste, Methode ist, allerdings hab ich jetzt gelesen, dass diese Variable nicht von allen Browsern geliefert wird und bei manchen Proxyservern HTTP_REFERER = 0 ist.

Was mich jetzt interessiert, ist, ob es irgendeine andere
Möglichkeit gibt, diesen "HTTP_REFERER"-Effekt hinzubekommen...
 
sorry, aber mit sessions kenn ich mich ähem, gar nicht, aus.
könntest du mir das ein bissel genauer erläutern?
 
so wie ich das verstanden habe, hast du drei dateien.
- eine, auf der der link zum download steht.
- die zweite, die die datei zum runterladen an den browser vesendet
- die letzte datei, welche runtergeladen werden soll und auf die niemand zugreifen darf

dann kommt in die erste

PHP:
<?php
session_start();
$SID = session_id();
$right=1;
session_register('right');
?>

<a href="2.datei.php?SID=<?=$SID?>"> blabla rabarber </a>

in die nächste kommt dann
PHP:
<?php
session_start();
if($right == 1){

## die datei dann auslesen und ausgeben, oder eben header()

}
?>
 
ah :) danke.

Aber Sessions benötigen doch auch Cookies?
D.h. das ganze funktioniert ja dann nicht, wenn man die deaktiviert hat...
 
Zuletzt bearbeitet:
wer sie deaktiviert versperrt vielen programmierern einen weg. und gefährlich sind sie wahrlich nicht. aber es gibt eben ignoranten :rolleyes:

aber du hast recht. man kann sessions auch nur serverseitig laufen lasse, aber ich habe in meinen gehinwindungen leider gerade verlegt wie, schau in die doku.,
 
Naja, das einzige was in den Cookies gespeichert wird ist die SessionId.

Die registrierten Variablen werden sowieso auf dem Server gespeichert.

Wenn man die SessionId also einfach als Get-Parameter, so wie oben
PHP:
<a href="2.datei.php?SID=<?=$SID?>"> blabla rabarber </a>
anhängt, braucht man keine Cookies.

( Falls die Option session.use_trans_sid aktiviert ist, wird das sogar automatisch gemacht. )
 
mal ne kurze zwischenfrage
kann ich statt $SID auch $s nehmen?
und wozu brauch man die session-id eigentlich? denn wenn man bei der nächsten datei session_start() schreibt, dann wird die spezielle session von dem user doch automatisch weitergeführt oder?
 
$SID ist Quatsch.
Das Ding heisst SID ( ohne $, ist ne Kostanten.. )
Da ist immer die Kombination sessionname=sessionid gespeichert.

Dass die weitergegeben wird ist gerade deshalb wichtig, damit die spezielle Session weitergeführt werden kann.

Woher soll der Server sonst wissen, welches Script welche Sessiondaten bekommen soll?
 
Zurück