StianSandberg
Вы можете удалить файлы cookie с помощью javascript. И если вы прикрепите это к событию закрытия браузера, оно будет работать.
<body onunload="deleteAllCookies()">
function deleteAllCookies() {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
}
Это очистит все файлы cookie onUnload, но файлы cookie должны быть установлены только с помощью http. (почитайте про XSS и обеспечение печенье :
Защита Ваших Файлов Cookie: Да[
^])
И если ваши файлы cookie хорошо защищены, они не могут быть удалены с помощью javascript.
Решение состоит в том, чтобы создать функцию javascript, которая вызывает aspx-страницу, которая очищает сеанс и удаляет все файлы cookie.
window.onbeforeunload = function(){
$.get('removeSession.aspx', function() {
// all good
});
}
В вашем removeSession.aspx вы можете делать свои вещи в page_load
protected void Page_Load(object sender, EventArgs e)
{
Session.Abandon();
foreach (string cookie in Request.Cookies)
{
Response.Cookies[cookie].Expires = DateTime.Now.AddDays(-1);
}
}