Mamy witrynę (www.example.com), która wysyła użytkowników na serię stron osób trzecich w celu zweryfikowania szczegółów płatności, które robimy w iframe. Początkowo strona lokalna ze strony www.example.com jest ładowana do elementu iframe, a użytkownik jest przekierowywany na adres strony trzeciej. Po wykonaniu kroków strony trzeciej przez użytkownika są one przekierowywane z powrotem do strony w naszej witrynie (www.example.com) w elemencie iframe.IE 11 plików cookie pierwszej sesji utraconych w iframe
Działa to we wszystkich przeglądarkach, które przetestowaliśmy z wyjątkiem IE 11, gdzie nasze pliki cookie wydają się być utracone. Sprawdziliśmy to zarówno pod Windows 7, jak i 8.1, zarówno w trybie "stacjonarnym", jak i "Metro", a problem dotyczy wszystkich wersji.
Gdy użytkownik przegląda naszą stronę, ustawiamy plik cookie sesji, który jest poprawnie wysyłany na stronę własną, która jest początkowo załadowana do elementu iframe. Po przejściu przez użytkownika stron trzecich w tym elemencie iframe, plik cookie sesji nie jest wysyłany przy następnym żądaniu.
Jeśli ustawimy ustawienie prywatności IE 11 na najniższą wartość, problem zniknie i wszystko będzie działać zgodnie z oczekiwaniami.
Wszystkie potencjalne rozwiązania, które pojawiły się do tej pory, mają związek z nagłówkami P3P. Mamy poprawny i właściwy plik nagłówka P3P i polityki XML skonfigurować, a ten problem występuje tylko w IE 11.
Aktualizacja: mamy kilka innych cookies utworzone za pomocą JS. Wszystkie one utrzymują się zgodnie z oczekiwaniami. Różnice są datą wygaśnięcia (1 rok dla plików cookie JS, 1 miesiąc dla plików cookie sesji), domena (jawnie "example.com" dla plików cookie JS, pusty dla sesji cookie) i czy są to "tylko HTTP" (false dla JS pliki cookie, prawdziwe w przypadku plików cookie sesji).
Próbowałem ustawić wszystkie te opcje zgodnie z ciasteczkami JS dla pliku cookie sesji, ale to nie miało znaczenia.
Aktualizacja 2: Po więcej testów nie udało mi się stworzyć przypadek testowy, który odtwarza ten problem. Wszelkie dodatkowe pliki cookie, które próbuję przetestować za pomocą kodu live, również wydają się być uszkodzone, nawet jeśli są ustawione dokładnie tak samo jak pliki cookie JS, które działają. W skrócie; Nie znalazłem jeszcze żadnego wzorca do plików cookie, które działają i tych, które nie działają.
Jedną z potencjalnie interesujących rzeczy jest to, że pliki cookie nie są usuwane, po prostu nie są wysyłane do ostatecznego wniosku. Jeśli załadowana zostanie inna strona, pliki cookie pojawią się w magiczny sposób i zostaną wysłane; co prowadzi mnie do przekonania, że jest to błąd otaczający iframe i P3P.
Update 3 (dzień 3): obsługa ciasteczek IE 11 w dalszym ciągu mnie zawstydzić. Im dalej podróżuję do labiryntu Microsoftu, tym bardziej gubię się wśród jego ruchomych ścian. I są tu duchy. Fragmenty na wpół wymyślonej polityki bezpieczeństwa, które utkały się w jakieś eteryczne stworzenie, które śledzi mnie i prowokuje przy każdym posunięciu. Z początku byłem zamrożony, przerażony, przerażony ledwie wyczuwalną postacią, rzucającą się tylko poza zasięg wzroku, ale z każdą godziną gromadzę więcej pociechy od samej wiedzy o jego bliskości. Czy to może być ta bestia, którą przysłano mi tutaj, aby stawić czoła? Jak mogłem zabić mojego jedynego towarzysza w takich czasach?
Czy możesz pokazać nagłówek P3P, którego używasz? – vtortola
'P3P: CP =" WSZYSTKIE DSP COR CUR ADM PSA CONI NASZE SAM OTR UNR LEG "' Bez tego nagłówka żadne pliki cookie nie działają w elemencie iframe, zgodnie z oczekiwaniami. Niektóre pliki cookie działają, ale niektóre, na pozór przypadkowe, nie są. Nie mogłem znaleźć wzorca ani niczego innego na temat tych, które nie działają. –
Wypróbuj http://stackoverflow.com/a/13975828/307976 – vtortola