witam
mam strony A i B
na stronie A wrzucam taki kod:
czy w pliku skrypt.php mogę w jakiś sposób wyśledzić, że został on odpalony w iframe na stronie A ??
witam
mam strony A i B
na stronie A wrzucam taki kod:
czy w pliku skrypt.php mogę w jakiś sposób wyśledzić, że został on odpalony w iframe na stronie A ??
Może referrer
pomoże, lecz pamiętaj, że ramki to zuo.
ja wiem, że zło, ale muszę się po prostu przed ramkami zabezpieczyć, dlatego pytam ;]
po stronie klienta w js:
if (window.opener && window.opener.open && !window.opener.closed)) window.opener.location = window.location;
oczywiście opener może mieć swojego openera, a ten swojego...
jeśli user ma wyłączonego referrera w przeglądarce, to po stronie serwera nic się nie dowiesz; jeśli jest włączony i ma wartość spoza Twojego site'u, to albo trafił tu z linka umieszczonego na innym serwerze, albo nastąpiło otwarcie strony w ramce.
jeśli referrer i js są wyłączone, to niewiele możesz zrobić. w pocie czoła da się opracować rozwiązanie, które bez js wyświetli tylko napis "włącz js", a po włączeniu js sprawdzi openera i zaciągnie treść strony przez ajax, przy czym zawartość strony będzie walidowana tokenem ważnym przez kilkanaście minut. imho walka z wiatrakami.
ŁF szanuję cię i podziwiam za ogrom pracy na forum i z tego powodu jakbyś napisał samo "imho walka z wiatrakami" to bym uznał, że temat wyczerpany ;]
mimo wszystko dziękuję za rozpracowanie problemu ;]
o, po raz pierwszy ktoś mnie docenił ;]
walką z wiatrakami nazwałem ostatnią metodę. pierwsza (z window.opener) jest prosta i z reguły niezawodna, bardzo dużo serwisów ją stosuje (np. gazeta.pl).
hehe to nie dobrze, że po raz pierwszy ;]
Twój sposób się sprawdza, ale mi nie chodzi o to, żeby blokować w js wyświetlanie mojej strony w ramce, a po prostu badanie czy takie coś zaszło
można by to połączyć z funkcją, która w ajax odpali plik php i zapisze, że z takiego IP i jakiejś tam strony odpalono moją w iframe :) zatem byłeś pomocny bardzo, choć niestety, nie zawsze to zadziała ;]