Каким способом можно убивать сессию при закрытии вкладки?
У вас там в тегах php, потому я предположу, что вы о
вот этих сессиях.
Ответ:
никаким.
PHP не знает что там у пользователя случилось: может он вкладку закрыл, или крышку ноута закрыл, или заехал в тоннель, или у него комп завис, или интернет отключили за неуплату.
Можно прикрутить трюк с beforeunload как предлагает
dollar, но это уже не чисто на PHP решение. Ну и возможны ложные срабатывания, когда открыты несколько вкладок. Придется дополнительные проверки делать.
Еще можно сессионной куке не устанавливать
Expires
, и тогда она должна удалиться сама при закрытии сессии браузером, но... есть браузерные настройки и плагины, которые позволяют не обрывать сессию при закрытии вкладки и вообще никогда.
Потому предлагаю не мучиться, и просто выставить удобное для вас время жизни сессии.