Невозможно обнаружить пользователя, закрывающего страницу, без использования javascript.
Однако было бы удобнее, если бы вы хранили несколько токенов CSRF вместо одного (например, до 10),Когда один используется, только этот становится недействительным, а когда нужен новый, самый старый удаляется.Это гарантирует, что люди могут работать на нескольких вкладках, сохраняя при этом защиту от CSRF.