Autor Zpráva
Alastor_Kopal
Profil *
Ahoj
chtěl bych se zeptat jestli bych mohl java scriptem (nebo něčím jiným) kontrolovat z jaké stránky uživatel přichází

např. v souboru 1.html by byl kód který by zkontroloval jestli návštěvník přichází ze souboru 2.html (v tomto případě vypíše svůj obsah) ale pokud uživatel přijde z jiné stránky/souboru tak by ho to přesměrovalo na určitou error stránku
Pan X
Profil
Pomocí PHP by se to dalo. Je na to funkce
echo $HTTP_REFERER;
Pan X
Profil
Celí kód by pak vypadal:
if($HTTP_REFERER == "http://www.tvuj-web.cz/1.html"){
..... Co se má stát pokud zní přichází .....
}else{
header("location: error.html"); // Errorová stránka
}
Alastor_Kopal
Profil *
plivlo mi to chybu
Pan X
Profil
jakou?
Alastor_Kopal
Profil *
Parse error: parse error in /3w/xf.cz/k/kouzelnysvet/123.php on line 3
Pan X
Profil
Skus toto:

if($HTTP_REFERER == "http://www.tvuj-web.cz/1.html"){
echo 'Přišel si ze stránky 1.html';
}else{
header("location: error.html"); // Errorová stránka
}
Alastor_Kopal
Profil *
ten kód je nějakej divnej když sem ho uložil tak mi to hodilo 404
Arcturus
Profil
Upravil jsis "header("location: error.html");" na nějakou existující stránku tvého webu?
Alastor_Kopal
Profil *
zatím ne. Aha :-) ten error nemůže odkazovat na error poskytovatele ?
Pan X
Profil
jj všechno si přepiš na stránky, které máš
Nox
Profil
Alastor_Kopal
if($_SERVER["HTTP_REFERER"] == "http://www.tvuj-web.cz/1.html"){
echo 'Přišel si ze stránky 1.html';
}else{
header("location: error.html"); // Errorová stránka
header("connection: close");
exit();
}

příp. využít pro dotaz funkcí stpros, reguláru...
Nox
Profil
Pomocí PHP by se to dalo. Je na to funkce
echo $HTTP_REFERER;
To není funkce, ale proměnná

Alastor_Kopal
Ovšem extra bezpečné to není, referer lze podvrhnout
O takových věcech viz php.vrana.cz (ikdyž to nejsou úplně základní věci)

A pokud to budeš psát do velkého množství stránek tak to spíš dát jako funkci
Alastor_Kopal
Profil *
jé díky moc moc moc ale ještě sem se chtěl zeptat jak bych tam mohl nadefinovat více adres ?
Nox
Profil
$povolene = array("1.html","abc.html","3.php");
if(in_array("http://www.tvuj-web.cz/".$_SERVER["HTTP_REFERER"],$povolene)){
...
}else {...}
Alastor_Kopal
Profil *
děkuji moc všem moc děkujii

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: