2013-12-11 15 views
6

Wiem, że zostało to zadane kilka razy, ale we wszystkich odpowiedziach znalazłem, że ktoś zapytał, czy to nadal działa, a ktoś inny mówi, że nie, więc byłem Zastanawiasz się, czy istnieje rozwiązanie tego problemu, które nadal działa z najnowszą wersją chrome:Google Chrome ma problem z ciasteczkami z iframe

Powiedzmy, że mamy stronę internetową z osadzonym w niej elementem iframe, źródło iframe pochodzi od innego hosta. Strona w elemencie iframe wymaga plików cookie do działania, ale Google Chrome nie chce ustawiać plików cookie ustawionych w elemencie iframe. (Dzieje się tak tylko wtedy, gdy sprawdzane są "zablokowane pliki cookie innych firm", które zdają się dziać samo, ponieważ mam wiele raportów od różnych użytkowników, którzy nie dotknęli opcji zaawansowanych)

Mam kontrolę nad obiema stronami , ale mogę tylko zmodyfikować kod HTML na stronie zawierającej element iframe, bez elementów po stronie serwera.

Czego próbowałem tak daleko, że nie działa: Emedding obraz z tego samego hosta jako źródła iframe za dokonywania żądania POST do iframe powołaniu nagłówek P3P

Mogę również wysłać wiadomości przy użyciu xdm, choć nie wiem, czy to mogłoby pomóc.

Jeśli ktoś ma jakieś dodatkowe pomysły, to będzie bardzo doceniony! Mam wrażenie, że musi być jakieś rozwiązanie tego problemu:

+0

Tak. To jest dziwka. Jestem za blokowaniem plików cookie stron trzecich, ale to również oznacza sesyjne ciasteczka PHP (a nonsensy P3P nie działają w Chrome (co jest dobre!)). Konieczność zachowania php-session-cookie-id w JS i noszenia go w kolejnych $ _GET/POSTs. Dlaczego och, dlaczego nie wybrałem pracy na zewnątrz ... – T4NK3R

Odpowiedz

1

Ustawienie plików cookie wewnątrz ramki iFrame może być uciążliwe. Jednak iFrame może uzyskać dostęp do plików cookie ustawionych poza ramką iFrame. Możesz wyświetlić stronę w oknie, które ustawia niezbędne pliki cookie (takie jak uwierzytelnianie, itp.), A następnie uzyskać dostęp do tych plików cookie z poziomu iFrame.

Jest to bardzo pomocne w przypadku, gdy użytkownik chce uwierzytelnić użytkownika w innej domenie. Wystarczy wyświetlić wyskakujące okienko, uwierzytelnić i ustawić pliki cookie, a następnie uzyskać dostęp do plików cookie w Twojej witrynie z iFrame.