Вы можете очистить все сеансы, не проходя каждый отдельный?(подражать закрытию страницы) - PullRequest
0 голосов
/ 28 июня 2010

Во-первых, я довольно плохо знаком с серверными сценариями, поэтому не знаю, имеет ли этот вопрос смысл.

Предположим, что на странице хранятся сессии для PHP, Perl и ASP. Существует ли быстрый и простой способ эмулировать закрытие и повторное открытие браузера для одновременного сброса / уничтожения / очистки всех сеансов? Или нужно пройти очистку сеанса для каждого языка сервера, который вы использовали по отдельности?

Ответы [ 2 ]

0 голосов
/ 28 июня 2010

В ASP.NET имеется Session.Abandon, который уничтожает все объекты, хранящиеся в объекте Session, и освобождает их ресурсы.

0 голосов
/ 28 июня 2010

Если вы имеете в виду закрыть браузер, то session_destroy звучит как ваш билет.

Если вы имеете в виду уничтожить все сеансы, это немного по-другому;закрытие браузера не приведет к уничтожению всех сеансов, если все пользователи не закроют свои браузеры.Вообще говоря, у каждого браузера / пользователя есть один сеанс.

Это зависит от того, как реализованы ваши сеансы.Обычно PHP хранит информацию о сеансе в файлах ... так что, если вы выяснили, в каком каталоге содержатся файлы сеанса, и просто очистили ее с помощью rm -R * или чего-то подобного ... это должно помочь.Обязательно проверьте, что в этом каталоге есть только файлы сессий PHP, прежде чем вы это сделаете;)

Вы также можете настроить скрипт PHP для использования сессий в базе данных MySQL (или на любом другом носителе, который вам нужен)используя session_set_save_handler и другие подобные методы.Если бы вы сделали что-то подобное, вы могли бы лучше контролировать очистку всех сеансов (и это помогло бы вам справиться с открытыми данными сеанса )

...