![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 17.10.2014 Ostrzeżenie: (10%) ![]() ![]() |
Zacząłem ostatnio uzupełniać swoją wiedzę z PHP i mam mętlik w głowie. Zrobiłem sobie prosty system logowania oparty na cookies, jednak teraz dowiaduje się, że bezpieczniej jest robić logowanie na sesjach, gdyż podobno użytkownik może ciasteczka tworzyć sam oraz je edytować (https://www.youtube.com/watch?v=bW64jbnGYHw). Niejednokrotnie widzę na stronach internetowych napis, że ich witryna używa cookies, a po usunięciu ciasteczek z przeglądarki, następuje wylogowanie mnie. To jak to z tym wreszcie jest? Cookies czy sesje?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie do końca załapałeś. Więc dodam swoje trzy grosze.
Jeśli chcesz używać sesji to musisz też używać cookie, które będzie przechowywało id sesji. Sesja nie będzie działać bez cookie*. *Oczywiście zamiast cookie, możesz przekazywać id sesji w URLu, czy trzymać go w local.storage czy jeszcze możesz wymyślić jakiś dziwny sposób. Ale id sesji trzyma się w cookie, to jest naturalne i bezpieczne. Ty po swojej stronie serwera, musisz przechowywać id sesji i użytkownik po swojej też musi go przechowywać, inaczej nie będziecie wzajemnie wiedzieli o sobie. W cookie użytkownika jest tylko id tej sesji, nic więcej. Mając sesje, masz je przypisane do odpowiedniego użytkownika i możesz utrzymywać np. jego status zalogowania, czy sprawdzać czy to admin. Ale to wszystko robisz po stronie serwera, czyli użytkownik nie ma na to wpływu. Natomiast kiedy zrezygnowałbyś całkowicie z sesji, to w ciasteczku musiałbyś umieścić np takie informacje jak "czyAdmin=nie" i teraz każdy mógłby sobie to ciasteczko edytować i podmienić wartość na "czyAdmin=tak" i voila miałby dostęp np do panelu admina. Przy używaniu sesji, jedyne co użytkownik może zmienić to jego id sesji w ciasteczku, ale nic mu to nie da, bo nie zna id sesji admina, więc po prostu zostanie wylogowany, bo nie zostanie znaleziony taki id sesji na jaki on zmienił. Ten post edytował Damonsson 26.08.2016, 11:04:55 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 16:28 |