Autor Zpráva
LastHunter
Profil *
Dobrý den,
otevírám přes funkci window.open nové okno v JS. Potřebuji, aby předávalo referer, protože otevíraná stránka kontroluje, zda je otevíraná z našeho webu a nikoli přímým linkem (či odjinud).

Ve Firefoxu se referer předá, v Opeře také. Jak na to v IE? Ani ve verzi 6, ani v 7 se referer nepředá. Potřebuji ale kontrolovat, zda uživatel přichází z naší domény, jak na to?

Nemohu použít referer jako parametr GET, protože by byl velice jednoduše podvrhnutelný.

Jak na kontrolu, zda-li návštěvník na tu stránku nepřichází odjinud? Případně, jak jiným způsobem zablokovat přístup lidem, kteří na danou stránku nepřišli přes link od nás?

Děkuji.
peta
Profil
Je treba mluvit cesky a nekopirovat pojmy kterym sam nerozumis, jako IE referer. Pak ti nikdo neodpovi, protoze vlastne nevi, co myslis.

"Případně, jak jiným způsobem zablokovat přístup lidem, kteří na danou stránku nepřišli přes link od nás? "
Generovat do linku (v PHP) nejake cislo a v te strance si overit, zda je to cislo s urcitymi parametry?
treba datetime XOR necocislo
a kdyz to xornes zpet a prevedes na datum, tak to musi plus minus odpovidat rekneme na hodinu?
Chamurappi
Profil
Reaguji na LastHuntera:
Při použití atributu target="_blank" se referer předá. Ale to tvůj problém neřeší, protože cizí osoba pořád může použít na otevírání window.open.
Je-li otevírací a otevíraná stránka na stejné doméně, můžeš zkusit z té otevírané sáhnout na opener.location a podle toho se zachovat. Pokud bude otevírací stránka na jiné doméně, vyvolá ono sáhnutí výjimku, kterou můžeš odchytit.


Reaguji na petu:
Kdybys věděl, co je to referer (někdy též referrer), tak té obyčejné české větě porozumíš.
www.google.com — referer
Sebasti
Profil *
asi hloupý název, ale proč to nekontrolovat v php?
$_SERVER["SERVER_NAME"] a pokud jde od tebe, vse je ok, pokud jde odjinud: "sry, ale tam nemuzes, zkus to přes mou stranku.."
Jannny
Profil *
asi hloupý název, ale proč to nekontrolovat v php?
$_SERVER["SERVER_NAME"] a pokud jde od tebe, vse je ok, pokud jde odjinud: "sry, ale tam nemuzes, zkus to přes mou stranku.."



Neví sice, co přesně je v proměnné server_name ale nepřipadá mi to jako řešení.

Já bych ti navrhl udělat to podobně, jako kdybys tu stránku chtěl normálně zaheslovat. Při zaheslování stránek se přece také řeší, že můžeš mezi těmi zaheslovanými přecházet a nemusíš na každé zadávat heslo. Naopak, přímo lze otevřít pouze ta stránka, kde je přihlašovací dialog. Tak bych to nějak zkusil udělat - nějak se automaticky přihlásit. Možná by pomohl sessions.
Jannny
Profil *
Generovat do linku (v PHP) nejake cislo a v te strance si overit, zda je to cislo s urcitymi parametry?
treba datetime XOR necocislo
a kdyz to xornes zpet a prevedes na datum, tak to musi plus minus odpovidat rekneme na hodinu


Ano, takto bych to vyřešil, prostě proměnnou v GET pořád měnit.


A mohu se zeptat proč nehceš aby tu stránku mohl otevřít někdo odjinud? To je nějaká fotogalerie nebo co?

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:

0