Jakie są zalety i wady korzystania z plików cookie w porównaniu z sesjami?


Najlepsza odpowiedź

Główna idea dotycząca plików cookie i sesji jest taka sama – są pewne dane, które należy zapamiętane w różnych częściach witryny. Na przykład witryna może chcieć zapamiętać, który użytkownik jest zalogowany (na komputerze wysyłającym żądania), aby spersonalizować stronę lub nawet kontrolować dostęp.

W większości prostych przypadków, gdy pliki cookie zawierają dane, które tylko ulepszają użytkownika doświadczenie i jest jednorazowe, preferowane są pliki cookie, ponieważ są one przechowywane na kliencie zamiast na serwerze, więc dobrze się skalują. Dostęp do danych cookie można również uzyskać z poziomu JavaScript, podczas gdy dane sesji są prywatne tylko dla serwera. Pliki cookie mogą również utrzymywać się po zamknięciu przeglądarki lub wyłączeniu przez klienta, podczas gdy sesje zazwyczaj nie trwają tak długo, aby oszczędzać zasoby.

Z drugiej strony, jeśli chodzi o poufne dane, zamiast tego chcesz używać sesji, aby uniknąć atakujących manipulowania plikami cookie. Yahoo jest tego niesławnym przykładem – ich kod generowania plików cookie został przejęty i uzyskano dostęp do setek tysięcy kont. Nie oznacza to, że pliki cookie nie mogą być używane do uwierzytelniania – należy jednak bardzo uważać na dane, których już nie kontrolują. Wiele witryn korzysta z połączenia obu – plików cookie do przechowywania identyfikatora sesji i wszystkich poufnych danych sesji na serwerze – do zapamiętywania zalogowanych użytkowników.

Pliki cookie i sesje to tylko narzędzia takie jak młotki i szczypce. Musisz ocenić sytuację i dowiedzieć się, które narzędzie działa w którym miejscu.

Odpowiedź

Cóż, pliki cookie są ważne do określonej daty wygaśnięcia – co może być bardzo długie. Można go użyć, aby uniknąć konieczności wielokrotnego logowania się użytkownika lub identyfikowania się w inny sposób.

Pamięć Sesji wygasa, gdy użytkownik zamknie kartę przeglądarki… więc jest beznadziejna na żadną z tych rzeczy.

Być może myślisz o „Local Storage” – co jest jeszcze trzecią sprawą.

Zarówno sesja, jak i pamięć lokalna mogą przechowywać od 5 do 25 MB – w zależności od przeglądarki – i format. Pliki cookie mogą mieć tylko około 4 kilobajtów – co nie wystarcza do przechowywania takich rzeczy, jak zdjęcia i dźwięk.

Pliki cookie są również przydatne, ponieważ serwer może uzyskać do nich bezpośredni dostęp bez konieczności ładowania kodu JavaScript… sesja i pamięć lokalna wymaga kodu JavaScript, aby uzyskać do nich dostęp – a jeśli serwer musi je zobaczyć, musi być napisane specjalne oprogramowanie do wymiany tych informacji.

Pliki cookie i pamięć lokalna umożliwiają również dwie oddzielne karty, które są wskazywane na ta sama witryna internetowa do udostępniania trwałych danych. „Pamięć sesji” wymusza na każdej karcie używanie oddzielnych danych. To może być dobre lub złe – w zależności od tego, czego potrzebujesz.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *