2010-07-04 13 views

Odpowiedz

2

Nie ma sposobu, aby uzyskać, gdy plik cookie wygasa lub którykolwiek z innych parametrów, o które prosi się przy użyciu PHP. Dzieje się tak dlatego, że PHP nie przechowuje niczego podobnego, kiedy ustawiasz plik cookie, zasadniczo mówisz o tym, że chcesz wyświetlić nagłówek przeglądarki tylko raz, to jest zadaniem klienta (przeglądarki), aby odesłać dane cookie na każdym żądaniu HTTP. PHP nie ma więc powodu, aby przechowywać dane, więc tak nie jest.

Możesz oczywiście przechowywać, gdy plik cookie wygaśnie w innym pliku cookie lub pliku gdzieś, jeśli wiesz, gdzie w kodzie są ustawiane pliki cookie.

+0

Przechowywanie go nie jest gwarancją. Użytkownik może sam je modyfikować. –

+0

Jeśli użytkownik/klient się nie zachowuje, aplikacja nie powinna tego robić. – Sam152

1

Nie (zdecydowanie nie w PHP i nie sądzę, że można to zrobić za pomocą JavaScriptu). Ale możesz zapisać te informacje w danych cookie.

Czasami chcesz mieć plik cookie ważny przez jakiś czas, a także wymusić jego ważność na serwerze. Na przykład klient używa pliku cookie do samego uwierzytelnienia i ten plik cookie ma określoną wartość (np. Użytkownik powinien być zalogowany przez x dni). W takim przypadku należy również przechowywać ten czas w bazie danych i sprawdzić go, gdy podany jest token uwierzytelniania cookie. Jeśli nie ma żadnych manipulacji, plik cookie powinien wygasnąć w chwili rejestracji w bazie danych (lub wcześniej), w przeciwnym razie dane uwierzytelniające i tak zostaną odrzucone.

1

Nie można tego zrobić po stronie klienta. JavaScripty document.cookie nie udostępniają czasu wygaśnięcia. Powszechnym idiomem jest więc ustawienie ciasteczek towarzyszących, które zawierają informacje o ostatnim odświeżeniu plików cookie. Lub możesz również ustawić plik cookie na wartości złożone, np. setcookie("name", "value..|time()") i późniejszy dostęp do niego przy użyciu strtok($_COOKIE["name"], "|").

Powiązane problemy