2012-06-28 8 views
5

Próbuję użyć localStorage jako wymiany plików cookie (nienawidzę plików cookie), aby użytkownicy mogli pozostać zalogowani na stronie, z której korzystam.Czy oprogramowanie localStorage może być modyfikowane przez klienta?

Co planowałem tak daleko było zapisać login użytkownika w localStorage, i sprawdzanie strony, czy wszystko było w localStorage, a jeśli coś jest w localStorage, że to przesunąć dane localStorage do pliku PHP poprzez POST i popchnij użytkownika, aby rozpocząć nową sesję PHP i zwróć ją z powrotem do miejsca, w którym się znajdowali.

Chociaż mam obawy, wiem, że localStorage można przeglądać, w takim przypadku prawdopodobnie szyfrowanie serwera danych miałoby jakiś sens.

Ale czy dane LocalStorage można modyfikować? Jeśli nie, byłoby to w porządku, nawet bez szyfrowania, ale oczywiście, gdyby użytkownik mógł zmodyfikować dane localStorage, mieliby dostęp do kont innych osób, co jak można sobie wyobrazić, nie jest dobrą rzeczą.

miałem wątpliwości, ponieważ JavaScript mogą być wykonywane przez klienta w przeglądarce, to znaczy:

javascript:alert("hello"); 

nie Czy to możliwe, aby dowiedzieć się localStorage za nazwę var i przywrócić jego wartość w taki sposób?

javascript:localStorage.setItem('sessionusername','superadmin'); 

Zasadniczo pytam: czy dane HTML5 Local Storage mogą być modyfikowane po stronie klienta?

Cheers, Karan :)

+2

Wygląda to byłoby stosunkowo ciekawostki l do przetestowania. –

+0

Jak powiedział Anthony, jak trudno byłoby ustawić zmienną, a następnie przetestować swoją teorię? Masz cały kod napisany, aby przetestować go w twoim OP. –

+1

Należy założyć, że wszelkie dane przechowywane na kliencie mogą zostać zmienione z odpowiednią ilością umiejętności i wiedzy. Jeśli problemem jest bezpieczeństwo, nie powinieneś oprzeć bezpieczeństwa swojej aplikacji na trwałych plikach cookie lub trwałych plikach cookie. – Brad

Odpowiedz

7

lokalne przechowywanie wiąże się z domeną, więc w zwykłej przypadku, gdy użytkownik nie może go zmienić w każdej innej domenie lub na localhost.

Jest również związany dla każdego użytkownika/przeglądarki, tj. Żadna strona trzecia nie ma dostępu do lokalnej pamięci masowej.

Mimo to pamięć lokalna jest na końcu plikiem w systemie plików użytkownika i może zostać zhakowana.

7

Istnieją dodatki takie jak np. Foundstone HTML5 Local Storage Explorer dla Firefoksa, które umożliwiają użytkownikom nie tylko do przeglądania localStorage globalnie, ale także modyfikować jego zawartość:

Local Storage Explorer

Więc nie ufa on nikt mających dostęp do niego lub nikt nie może go zmienić. Przynajmniej od klienta jest to możliwe z łatwością. Z innej strony może to być trudniejsze i z pewnością wiązałoby się z "luką bezpieczeństwa", ponieważ nie jest to zamierzone użycie.

Aktualizacja: W międzyczasie, przynajmniej w Firefoksie, nie potrzebujesz do tego żadnego dodatku.Wystarczy nacisnąć Ctrl + Przesunięcie + I wybierz Storage kartę , a w lewej kolumnie wybierz Local Storage - gdzie można zobaczyć, a nawet edytować pamięci lokalnej na miejscu masz dostał w zakładce planie:

LocalStorage browser
przeglądarka Przechowywanie lokalna wbudowany w Firefoksa (kliknij aby powiększyć wariantu)

Powiązane problemy