2010-07-20 19 views
8

Mówią, że pliki cookie to bad. Osobiście uważam, że powinien istnieć "inteligentniejszy" sposób wykrywania stanu użytkownika w aplikacji internetowej.Alternatywa dla plików cookie HTTP?

Say, obecnie jest to w jaki sposób to działa w środowisku rozproszonym, gdzie xyz.com ma wiele basenów i serwerów (które znam): dzienniki

  1. użytkownika w xyz.com
  2. moduł logowania xyz.com upuszcza plik cookie na komputerze lokalnym klienta.
  3. Teraz, gdy klient przechodzi do Feature1 of xyz.com, pula feature1 sprawdza lokalny plik cookie, jeśli go znajdzie i jeśli nie wygasł, to Feature1 zakłada, że ​​klient jest dobry i wpuszcza go.

Tak więc funkcja 1 ślepo zawierza klienta z powodu odrzuconego przez moduł cookie pliku cookie.

Ale na etapie 3 czuję zasadniczą wadę. Co zrobić, jeśli haker sklonuje plik cookie i próbuje coś zrobić? (co jest pierwszą oczywistą rzeczą, jaką spróbuje zrobić haker, wykrywanie cookie)

Czy istnieje jakaś alternatywa dla tego? - w jaki sposób pamięć sieciowa, obiekty przechowywane w pamięci flash będą działać w przyszłości? czy ciasteczka będą rządzić?

Nie szukam oczywistej odpowiedzi, ponieważ jej nie ma. Interesują mnie różne punkty widzenia zbliżania się do tego problemu.

Dzięki

+0

Głosuję, aby zamknąć to pytanie jako nietypowe, ponieważ wyraźnie domagam się dyskusji i opinii. * Nie szukanie oczywistej odpowiedzi, ponieważ jej nie ma. Jestem zainteresowany różnymi punktami widzenia zbliżania się do tego problemu. * –

+0

Nie zgadzam się na zamknięcie pytania, to jest to, co w dzisiejszych czasach ciągle ewoluuje, realne i najlepsze rozwiązania przychodzą i odchodzą. – davidtaubmann

Odpowiedz

3

Jednym z podstawowych zleceniodawców REST, a mam na myśli real REST nie jest do przechowywania stanu na serwerze, jeśli nie ma stanu na serwerze, to nie ma potrzeby cookie mają być stosowane jako klucz do spojrzenia na ten stan.

+1

Czy możesz to wyjaśnić, jak to będzie działać w scenariuszu opisanym powyżej? – zengr

+1

nie potrzebujesz ciasteczek do śledzenia stanu na serwerze, nie ma żadnego, przekazujesz stan do serwera od klienta na każde żądanie, przeczytaj link o REST bardzo łatwo zrozumieć –

+3

@ makerofthings7 przekazujesz dane uwierzytelniające na każde żądanie, które jest częścią stanu, nie wiesz, co ** bezpaństwowiec ** oznacza lub bezpieczne uwierzytelnianie, jeśli uważasz, że potrzebujesz plików cookie są wymagane dla bezpieczeństwa. Szyfrowanie End to End, takie jak SSL, zapewnia bezpieczeństwo, a nie pliki cookie. –

4

Wierzę, że informacje w this resource from google i/lub this link pomogą Ci znaleźć alternatywy do zapisywania informacji po stronie klienta.

... Zasadniczo istnieją 4 różne sposoby, aby przechowywać dane na stronie klienta bez użycia ciasteczek:

  1. Web SQL (mój ulubiony, a it's NOT obsolete)
  2. IndexedDB (innej bazy danych o różnej strukturze i akceptacji)
  3. Web Storage (Session i lokalne par klucz/wartość)
  4. Application Cache (pliki do webapps)

Wierzę, że dla Twojej specyficznej pary par sieci lokalnej są właściwym rozwiązaniem.

Powiązane problemy