10/10/2018, 00:01

Làm sao ngăn user không back được khi log out

Mình đang tạo một hệ thống login bằng ASP .NET và dùng kiểu Forms Authentication và muốn hỏi có cách nào để user không thể click back trên browser một khi đã log out, mình đã thử bằng cách dùng Cache-Control để set cho các page bảo mật không bị browser cache lại và mỗi khi back lại thì nó phải gửi request về server. Cách này có nhược điểm là nó khi user dùng cách page sau khi log in thì hay bị "Webpage has expired". Mọi người cho mình hỏi có cách nào tốt hơn không, cụ thể giống như gmail của google?
web.config của mình như sau:

<authentication mode="Forms" >
<forms loginUrl="Login.aspx" cookieless="UseCookies" slidingExpiration="false" protection="All" >

</forms>
</authentication>
<httpCookies requireSSL="true" httpOnlyCookies="true" />
<authorization>
<deny users="?"/>
</authorization>

và trên mỗi page mình đặt một user control có chứa nút log out và set cache-control trong event page_load như sau :

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Cache.SetNoStore()
End Sub
nobie viết 02:13 ngày 10/10/2018
Bạn post vào box .NET coi
daicathay viết 02:07 ngày 10/10/2018
Mình đã post vào room .NET rồi mà chưa thấy ai trả lời!
zblackboyz viết 02:04 ngày 10/10/2018
Hi, bạn thử làm theo cách hướng dẫn sau xem sao nhé :

http://forums.asp.net/p/1224365/2217302.aspx

Mình dùng thấy ok
vvtdong1040621 viết 02:14 ngày 10/10/2018
Khi Nguoi dung chon Logout thi ban dung ham huy tat ca cac sesion hay cookie cua nguoi dung do la duoc ha
temp_304 viết 02:11 ngày 10/10/2018
cái này đâu có thể tối ưu tốt nhất, nhiều trình duyệt nó lưu cache "tốt pà cố", duyệt 1 trang, sau đó ngắt kết nối Internet; nhấn back nó load lại nguyên xi, ko mất thứ nào
caonho viết 02:07 ngày 10/10/2018
Nếu bạn dùng Ajax hoặc dùng 1 thủ thuật nhỏ trên Javascript thì có thể làm được khi cache browsers vẫn lưu nội dung thì bạn set time out cho nó. Nó sẽ load lại nội dung lên và khi đó chỉ cần dùng Session.Abandon() là nó sẽ kô load lại được.
fairplay viết 02:15 ngày 10/10/2018
Sau khi logout, bạn chọn nó request lại 1 lần xem sao. Ví dụ thêm vào code javascript như sau: window.location.href = window.location - Nếu mình hiểu nhầm ý thì đừng cười, hơi thô sơ.
Bài liên quan
0