2012-11-14 31 views
5

Szukałem w Internecie, próbując zidentyfikować dobry sposób na uniknięcie wyświetlania poprzednich nieodpowiednich informacji, gdy użytkownicy klikną przycisk Wstecz.Jak Google traktuje przycisk Wstecz po wylogowaniu?

Na przykład:

  • Aby uniknąć zobaczyć informacje po wylogowaniu.
  • Aby uniknąć wyświetlenia formularza po wysłaniu i przetworzyć go.

Sprawdziliśmy te posty i wiele innych: avoid go back after logout Prevent back button after logout

lubię rozwiązanie Google, ale nie wiem, jak jest realizowany. Po wylogowaniu się z konta Gmail, a następnie kliknięciu przycisku Wstecz, nie widzę poprzednich wiadomości, pozostaję na stronie logowania.

Nie próbuję zmienić lub unikać przycisku Wstecz, chcę tylko uniknąć pokazania, że ​​nie są odpowiednie dane.

Próbowałem użyć różnych nagłówków i meta, ale nie zadziałały.

+0

Nikt nie będzie wiedział, co robi Google, ponieważ jest po stronie serwera; musimy znać język programowania i zobaczyć kod. – woz

Odpowiedz

2

Gmail to usługa sieciowa JavaScript, więc po kliknięciu przycisku Wstecz stan statyczny powoduje załadowanie klienta JavaScript, który nie ma dostępu do zaplecza.

W tradycyjnej aplikacji typu nieinternetowego może występować JavaScript, który jest uruchamiany za każdym razem, gdy strona ładuje się, aby upewnić się, że uwierzytelniona sesja jest nadal ważna. Jeśli użytkownik nie jest uwierzytelniony, uderz go z powrotem na stronę logowania.

Bez JS, przeglądarka załaduje tylko kopię z pamięci podręcznej. Można wyłączyć buforowanie przez dodanie tych znaczników meta lub nagłówków http:

header("Pragma: no-cache"); 
    header("Cache-Control: no-cache"); 
    header( "Expires: 0"); 

można także buforowanie wyłączyć używanie meta tagi:

<meta http-equiv="Pragma" content="no-cache"> 
<meta http-equiv="Cache-Control" content="no-cache"> 
+0

Dziękuję za wyjaśnienia. Podany kod wydaje się nie działać poprawnie cały czas. Miałem już te metsy w moim kodzie i zauważyłem, że mam je małymi literami, zmieniłem je na CamelCase i teraz pracuję w Firefoksie, ale nie w IE8 czy Chrome. Może to zależy od especification HTML, w moim przypadku XHTML 1.0 Transitional. Jestem zmieszany. – Memochipan

Powiązane problemy