2013-07-22 40 views
5

Tôi làm cách nào để ngăn trình duyệt sử dụng bản sao của trang được lưu trong bộ nhớ cache sau khi đăng xuất?Nút quay lại trình duyệt sau khi đăng xuất

Khi người dùng đăng xuất, họ vẫn có thể truy cập các trang trước bằng cách sử dụng nút quay lại.

Tôi hiểu rằng chúng tôi không thể tắt nút quay lại (theo SO câu trả lời).

Hiện tại tôi có một số lượng lớn các trang trong các trường hợp khác nhau nên tôi không thể sửa đổi từng trang.

gì tôi đã cố gắng

  1. Thiết lập header ngày hết hạn (làm tôi cần phải thiết lập này trên mỗi trang? Còn nếu tôi làm điều này làm bộ nhớ cache của trình duyệt nội dung trang? (Vì tôi cần trình duyệt để cache nội dung nếu người dùng đăng nhập))
  2. Tôi đã có hệ thống bỏ phiếu (nhưng vẫn còn có sự chậm trễ để phát hiện)
  3. Giải pháp dựa trên Javascript (hoạt động, nhưng người dùng vẫn có thể sử dụng tùy chọn lịch sử để điều hướng hoặc báo chí dài ở nút quay lại)

Tôi thực sự bị kẹt ở đây, Bạn có thể giúp tôi giải quyết vấn đề không?

+1

Tại sao bạn muốn làm điều đó, anh ấy không thể làm bất cứ điều gì sau khi phiên đã kết thúc, bất kỳ nhấp chuột và anh ta sẽ được ném ra một lần nữa ... –

+1

@ Mr.Alien Tôi hiểu điều đó. Nhưng khách hàng của tôi vẫn nghĩ rằng đây là một vấn đề. – Red

Trả lời

5

Tôi nghĩ mã này sẽ giúp bạn, sử dụng mã này trong hàm dựng bộ điều khiển cha.

//Log out Back 
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1. 
header("Pragma: no-cache"); // HTTP 1.0. 
header("Expires: 0"); // Proxies. 
+0

Bạn có thể giải thích điều gì sẽ xảy ra sau đó không? tôi cần trình duyệt lưu trữ nội dung nếu anh ta đăng nhập. – Red

+0

Nó sẽ xóa bộ nhớ cache, khi bạn đăng xuất trang web. Khi bạn đăng nhập trang web, bộ nhớ cache sẽ tự động lấy giá trị đăng nhập của người dùng. –

+0

là dành cho một trang cụ thể hoặc toàn bộ miền? – Red

0

Đây là liên kết trả lời tất cả.

http://www.codeproject.com/Tips/549347/Browser-Back-Button-Issue-After-Logout

Tôi đã thử trên tất cả các giải pháp nhưng trình duyệt không tương thích.

Cách tốt hơn là làm bài đăng Ajax hoặc kiểm tra tải trang cho phiên var null hay không.

Mẹo này cũng có giới hạn khi người dùng nhấp vào nút quay lại của trình duyệt, trang sau hiển thị trong 1 hoặc nửa giây vì thực thi WebMethod. nhưng hoạt động chắc chắn trong mọi phiên bản của bất kỳ trình duyệt nào !!

Các vấn đề liên quan