Разлогинить всех по крону

Подскажите, как?

 
Посетитель
small user social cms
Медаль
Сообщений: 447
Господа, нужно чтобы все пользователи сайта разлогинивались автоматически в определенное время.

Кто знает, какую команду давать крону? (Версия 1.10.4)
Редактировалось: 1 раз (Последний: 4 декабря 2014 в 16:32)
Посетитель
small user social cms
Медаль
Сообщений: 87
Интересная задача, присоединяюсь к вопросу
Шилопопик - сайт для родителей. Все о детях для мам и пап.
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1545
Возможно как вариант прописать в задании метод logout() класса user.class
Модератор
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форума
Сообщений: 1422
Так сделать нельзя для всех разом. Только в автологине разлогинивать самостоятельно.
Нормальный хостинг, сервера быстрые - пользуюсь сам.
Посетитель
small user social cms
Медаль
Сообщений: 447
А разве нельзя циклом перебрать всех юзеров и каждого разлогинить? Только не соображу какую команду давать?

Код PHP:
  1. $inUser->logout();
Только надо ID юзера сюда подставлять как-то
Модератор
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форума
Сообщений: 1422
Alexneva, нет, если у юзера есть кука автовхода, то разлогинить его можно только при его первом входе.
Нормальный хостинг, сервера быстрые - пользуюсь сам.
Посетитель
small user social cms
Медаль
Сообщений: 366
Разлогинить всех пользователей равнозначно удалению всех текущих сессий вашего сайта, что делается следующим образом:
Код PHP:
  1. foreach(glob(ini_get('session.save_path').'/*') as $p) unlink($p);
К сожалению, механизм "вечной куки" в первой ветке InstantCMS таков, каков он есть и, избегая изменения кода непосредственно самой CMS, можно сделать следующее:
1. В обработчике, вызываемом по крону, после приведенной выше команды на удаление всех сессий, необходимо изменить текущий .htaccess
К примеру, просто переименовать его в .htaccess_orig, а другой (ваш) файл переименовать из .htaccess_new в .htaccess
2. В файле .htaccess_new должны быть строки, определяющие наличие "вечной куки" и отправляющие такого пользователя на файл, отличный от index.php К примеру, можно сделать так:
RewriteCond %{HTTP_COOKIE} ^userid=([0-9]*)$ [NC]
RewriteRule ^(.*)$ /no_cookie.php [L]
3. В файле no_cookie.php должна быть процедура удаления "вечной куки" и обратное переименование .htaccess в .htaccess_new и .htaccess_orig в .htaccess
4. PROFIT!
Редактировалось: 2 раз (Последний: 5 декабря 2014 в 15:20)
Посетитель
small user social cms
Медаль
Сообщений: 447
stealthdebuger, благодарю за столь подробный ответ. Будем пробовать...
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.