2010-11-04 15 views
9

Używam lokalnego interfejsu API pamięci masowej HTML 5 do przechowywania tokenu dostępu użytkownika. Żądania następnie dołączają ten token, aby uzyskać dostęp do interfejsu API po stronie serwera. Zastanawiam się, czy potrzebuję przestrzeni nazw, których używam. Czy przeglądarka się tym zajmuje, czy też muszę nazywać klucz czymś w rodzaju "my-awesome-app-token"? Zauważyłem, że Twitter robi to w przypadku niektórych wyszukiwań.Przestrzeń nazw lokacji HTML 5 lokalnych kluczy pamięci

BTW, wiem, że przechowywanie tokena nie jest bezpieczne, ale bezpieczeństwo nie jest tutaj ważne, pytanie dotyczy kluczy do przypisywania nazw.

Dzięki!

Odpowiedz

4

Nie trzeba tego robić, jeden plik lokalny dla każdej poddomeny.

4

Widzę, że każda odpowiedź na to pytanie, jak dotąd, mówi, że nie potrzebujesz "przestrzeni nazw" kluczy lokalnych. Nie jestem pewien, czy to prawda.

Załóżmy, że tworzysz aplikację i musisz uruchomić kilka instancji tej aplikacji. Może to być system testowania i produkcji lub kilka systemów testowych. W każdym razie, jeśli te aplikacje działają na tym samym protokole/serwerze/porcie, ale z innym adresem URL, będą miały dostęp do tego samego magazynu lokalnego.

jeśli twoje klucze używają nazw, których może używać każdy inny programista, takich jak "użytkownik", "dane", "pamięć podręczna", możesz skończyć czytając localstorage z innej aplikacji. Jeśli ta aplikacja działa na tym samym serwerze.

Dla pewności, możesz nie używać prefiksu aplikacji do kluczy, a może również identyfikatora aplikacji, jeśli chcesz uruchomić kilka instancji na tym samym serwerze.

Jeśli źle zrozumiałem, jak działa localstorage, popraw mnie.

0

Pozostałe odpowiedzi dotyczą przestrzeni nazw dla wielu aplikacji, ale przestrzenie nazw są również ważne w przypadku różnych bibliotek używanych przez tę samą aplikację. Jeśli tworzysz taką bibliotekę, prawdopodobnie będzie ona szanować innych programistów bibliotek (lub nawet twoją przyszłą jaźń) do przestrzeni nazw używanej przez bibliotekę pamięci masowej.

Przykład, w którym natknąłem się dziś wieczorem, wykorzystuje klucz zapasowy nonce. Jeśli wiele bibliotek próbowało używać nonce w tej samej aplikacji, byłoby to problematyczne. Jeśli tworzysz bibliotekę do użytku przez innych programistów, byłoby miło podać opcję prefiksowania: myapilib_ + nonce.