概覽:
網站中點擊退出,如果僅僅是重定向到登錄/出頁面,此時在浏覽器地址欄中輸入登錄後的某個頁面地址如主頁,你會發現不用登錄就能訪問。這種所謂的退出並不是安全的。
那麼怎樣做到安全退出呢?
那就是點擊退出後清空相應的Session或Cookie。
清空Session的代碼:
Session.Clear(); Session.Abandon();
下面就總結下實現安全退出的幾種方式:
1).用Linkbutton,Button等服務器控件實現退出
這種方式最好處理:直接在服務器控件對應的事件裡編寫清空Session或Cookie的代碼即可。
2).用<a>注銷</a>等HTML標記實現退出
對於<a></a>這個特殊標記,可以這樣實現: <a href="logout.aspx">注銷</a> ,在logout.aspx的Page_Load事件中編寫清空Session或Cookie的代碼即可。
對於<a></a>等HTML標記,可以在HTML標記的相應client事件中用Js-Ajax,或者jQuery-Ajax,在一般處理程序(.ashx)中編寫清空Session或Cookie的代碼即可。
對於<a></a>等HTML標記,還可以這樣:在當前頁面添加一個服務器控件如Button,用div包含,並讓其隱藏(注意:隱藏不可見,不能通過服務器屬性Visible=False,只能通過設置div的display:none;來實現),在Button的服務器事件Cilck裡編寫清空Session或Cookie的代碼;然後在HTML標記的相應client事件中用Js或者jQuery調用Button控件的Click事件即可(通過服務器屬性Visible=False設置Button隱藏,Js或者jQuery調用Button控件的Click事件將失效)。