2012-11-14 30 views
5

Tôi đã tìm kiếm trên web cố gắng xác định một cách hay để tránh hiển thị thông tin không phù hợp trước đó khi người dùng nhấp vào nút Quay lại.Cách Google xử lý nút Quay lại sau khi đăng xuất?

Ví dụ:

  • Để tránh xem thông tin sau khi logout.
  • Để tránh xem biểu mẫu sau khi gửi và xử lý biểu mẫu.

tôi xem xét những bài viết và nhiều người khác: avoid go back after logout Prevent back button after logout

Tôi thích giải pháp của Google nhưng tôi không biết làm thế nào được thực hiện. Khi tôi đăng xuất khỏi tài khoản Gmail của mình và sau đó tôi nhấp vào nút Quay lại, tôi không thể xem các thư trước đó của mình, tôi vẫn ở trang Đăng nhập.

Tôi không cố gắng thay đổi hoặc tránh Nút Quay lại, tôi chỉ muốn tránh hiển thị dữ liệu không phù hợp.

Tôi đã cố gắng sử dụng các tiêu đề khác nhau và meta nhưng chúng không hoạt động.

+0

Không ai biết những gì Google làm vì nó ở phía máy chủ; chúng ta cần biết một ngôn ngữ lập trình và xem một số mã. – woz

Trả lời

2

Gmail là dịch vụ web JavaScript, do đó khi bạn nhấp vào nút quay lại, trạng thái tĩnh sẽ chỉ tải ứng dụng JavaScript bị từ chối truy cập vào chương trình phụ trợ.

Trên ứng dụng loại dịch vụ không phải là dịch vụ web truyền thống có thể có JavaScript chạy mỗi khi trang tải để đảm bảo rằng phiên được xác thực vẫn hợp lệ. Nếu người dùng không được xác thực, hãy đưa họ trở lại trang đăng nhập.

Nếu không có JS, trình duyệt sẽ tải một bản sao được lưu trong bộ nhớ cache. Bạn có thể vô hiệu hóa bộ nhớ đệm bằng cách thêm các thẻ meta hoặc tiêu đề http:

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

Bạn cũng có thể vô hiệu hóa bộ nhớ đệm sử dụng các thẻ meta:

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

Cảm ơn bạn đã giải thích. Mã bạn cung cấp dường như không hoạt động bình thường mọi lúc. Tôi đã có những metas trong mã của tôi và tôi nhận thấy rằng tôi đã có chúng trong chữ thường, tôi đã thay đổi nó để CamelCase và bây giờ làm việc trong Firefox, nhưng không phải trong IE8 hoặc Chrome. Có lẽ nó phụ thuộc vào việc xác thực HTML, trong trường hợp của tôi XHTML 1.0 Transitional. Tôi bối rối. – Memochipan