Событие beforeunload
будет делать то, что вы хотите, при условии, что пользователь все еще вошел в систему, когда он закрывает браузер.
Но вы никогда не можете быть на 100% уверены в получениисобытие.
Пользователь может потерять соединение с сетью, или сломать свой компьютер и т. д., что будет иметь тот же эффект, но вы никогда не получите уведомление об этом.
И поскольку этоДействие на стороне клиента, оно может быть перехвачено вредоносным скриптом или взломано пользователем.
Суть в следующем: НЕ полагаться на эту функцию.Вы должны позволить своим сеансам естественным образом умереть, даже если вы никогда не уведомлялись о закрытии браузера.Стандартный способ сделать это - через тайм-аут после периода бездействия.
И если вы все равно это допустите, есть ли необходимость активно уничтожать сессии при закрытии браузера?Вы также можете просто позволить им умереть естественным путем с тайм-аутом.