Internet Explorer ignoruje pliki cookie w niektórych domenach (nie może odczytać ani ustawić plików cookie)

Mam stronę, np. example.com, gdzie użytkownicy mogą ustawić własne subdomeny (jeden użytkownik - jedna subdomena) i wgrać własne skrypty, np. {[1] } będzie mapować do /www/somedomain/xyzzy.php

Teraz, na niektórych z tych domen, Internet Explorer 7 nie będzie / nie może zaakceptować plików cookie. Sprawdzone za pomocą programu Fiddler: serwer wysyła odpowiedź Set-Cookie poprawnie, ale plik cookie nigdy nie pojawia się w IE - for JS lub narzędzi programistycznych. Na życzenie IE7 również nie wysyła nagłówka pliku Cookie.

Pliki cookie są ustawiane dla domeny użytkownika (np. somedomain.example.com), ścieżka jest /, wypróbowano różne opcje wygaśnięcia (przeszłość, przyszłość, prąd, "0"), nie są HttpOnly, nie są bezpieczne.

FF, Opera, Safari i Chrome działają bez problemów.

Dlaczego IE ignoruje pliki cookie?

Author: Piskvor, 2009-04-27

3 answers

Czy jedna z subdomen używa podkreślenia? IE ma problemy z akceptacją plików cookie z subdomen, które nie są zgodne z URI RFC .

 105
Author: u07ch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-14 23:54:41

Zgodnie z RFC1035 (nazwy domen - implementacja i Specyfikacja):

[nazwy domen] muszą zaczynać się literą, kończyć literą lub cyfrą, a jako znaki wewnętrzne mają tylko litery, cyfry i myślniki.

Okazuje się, że niektóre domeny miały w sobie podkreślenie ( " _ " ): some_domain.example.com. Chociaż jest to naruszenie RFC, wszystkie inne przeglądarki działają normalnie.

MSIE 7, na domenie z podkreślnikiem, po cichu upuszcza wszystkie ciasteczka dla ten gospodarz i odmawia przyjęcia nowych.

Jedynym rozwiązaniem jest użycie domen zgodnych z RFC (zamieniłem wszystkie "_"na "-"i ustawiłem RewriteRule, aby ruch był przekierowywany do domen zgodnych).

 51
Author: Piskvor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-27 16:38:32

Problem dotyczy nie tylko podkreślenia w nazwach domen, ale także nazw domen zaczynających się od cyfry. Tak więc 1aaaaaaa.tld jest w rzeczywistości niestandardową nazwą domeny, co spowoduje, że IE odrzuci plik cookie.

Rozwiązałem to używając tylko www2.1aaaaaaa.tld, a następnie dodając reguły przepisywania dla 1aaaaaaa.tld i www.1aaaaaaa.tld w .htaccess. Nie wiem, czy to naprawdę kwalifikuje się jako rozwiązanie zgodne ze standardami.... ale w każdym razie, wygląda na to, że rozwiązał problem z ciasteczkami.

Hope that helps ktokolwiek!

 13
Author: Tomas Ullberg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-06 01:07:45