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?
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 .
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).
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!
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