Autor | Zpráva | ||
---|---|---|---|
kabanos Profil * |
#1 · Zasláno: 24. 1. 2011, 10:03:54
Ahoj,
lze nějak kontrolovat, zda je otevíraná stránka otevřená v iframe jiné stránky (na stejné doméně) - něco jako kontrola if !top.window tak přesměruj na top stránku a do jejího iframe načti otvíranou? Chci to hlavně z důvody, kdy mi ji najde nějaký vyhledávač a z něj ji pak otevřu. Iframe na těchto stránkách používám proto, že potřebuji mít stále přístupná některá data (javascript proměnné, texty zapsané uživatelem do textareí atp.). Dík |
||
motik Profil |
#2 · Zasláno: 24. 1. 2011, 10:22:22 · Upravil/a: motik
kabanos:
zkus php: načíst a zpracovat url adresu |
||
Chamurappi Profil |
#3 · Zasláno: 24. 1. 2011, 10:28:31 · Upravil/a: Chamurappi
Reaguji na kabanose:
Viz Tohle nechci v rámech od Bubáka. Reaguji na motika: Těžko. Server není žádným způsobem informován, jestli se stránka otevírá v rámu. |
||
motik Profil |
#4 · Zasláno: 24. 1. 2011, 10:43:19
Chamurappi:
myslel jsem, že toto by mohlo fungovat: (do vkládané stánky dát) if ($_SERVER['HTTP_REFERER'] != 'http://example.com/index.html') ... |
||
ShiraNai7 Profil |
#5 · Zasláno: 24. 1. 2011, 10:54:35
motik:
Na referer nespolehat! Spustu prohlizecu ho neposila (kvuli nejakym pluginum ci bezpecnostnimu sw). |
||
motik Profil |
#6 · Zasláno: 24. 1. 2011, 11:02:03
ShiraNai7:
já to odzkoušel v IE, Mozille i GoogleChrome a jelo to.. ale máš pravdu, že to asi nebude moc spolehlivé.. dík za info - dám si pozor! |
||
Chamurappi Profil |
#7 · Zasláno: 24. 1. 2011, 13:22:26 · Upravil/a: Chamurappi
Reaguji na motika:
Tvá podmínka vůbec nerozlišuje, jestli je stránka otevřená v rámu, nebo jestli na ni bylo jen obyčejně odkázáno. I když je pravda, že by tím mohl rozeznat už na straně serveru část příchozích z vyhledávačů. Reaguji na ShiraNaiho7: „Na referer nespolehat! Spustu prohlizecu ho neposila“ Na nic se nemůže spoléhat stoprocentně, ale v rámci domény bývá Referer povolený skoro vždy, možná i častěji, než je povolený JavaScript.
Reaguji na kabanose: Ještě mě napadlo, že můžeš otestovat existenci objektu window.frameElement .
|
||
motik Profil |
#8 · Zasláno: 24. 1. 2011, 13:43:38
Chamurappi:
„Tvá podmínka vůbec nerozlišuje, jestli je stránka otevřená v rámu, nebo jestli na ni bylo jen obyčejně odkázáno.“ když se $_SERVER['HTTP_REFERER'] |
||
Bubák Profil |
#9 · Zasláno: 24. 1. 2011, 15:29:16
motik:
> když se > $_SERVER['HTTP_REFERER'] > a adresa "hlavní stránky" nerovnají tak je nejpravděpodobnější, že návštěvník přišel z vyhledávače nebo z externího odkazu, a ty bys takovou návštěvu přesměroval do někam. |
||
Chamurappi Profil |
#10 · Zasláno: 24. 1. 2011, 15:50:28
Reaguji na Bubáka:
Myslím, že o to kabanosovi jde. Také jsem si zpočátku myslel, že jde o klasický dotaz hledající obranu proti načítání do rámu, ale tazatel chce zabránit naopak nenačtení do (svého) rámu. |
||
motik Profil |
#11 · Zasláno: 24. 1. 2011, 16:26:30
Chamurappi:
já jsem to teda tak pochopil.. Bubák: „a ty bys takovou návštěvu přesměroval do někam.“ né do někam, ale na ten jeho hlavní rám |
||
Witiko Profil |
#12 · Zasláno: 24. 1. 2011, 20:35:23 · Upravil/a: Witiko
Možná jsem naivní, nikdy jsem takovýto problém neřešil, ale nestačila by jednoduchá kontrola:
window.parent == window.self window.top == window.self I v případě rozdílních domén a tedy odmítnutí přístupu k nadřazenému window dokumentu se undefined nebude rovnat objektu window aktuálního dokumentu. Pokud to tedy nechce op kabanos v serverovém jazyce, jak by podbízely předchozí posty, přičemž je pak ale téma chybně zařazeno. :) Ohledně případu od Bubáka: Mám takový pocit, že v případě rozdílných domén nebude window.top z bezpečnostních navracet kýčený window objekt. A změna adresy bude tímto znemožněna. |
||
Časová prodleva: 13 let
|
0