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

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

#1 4 декабря 2014 в 16:32
Господа, нужно чтобы все пользователи сайта разлогинивались автоматически в определенное время.

Кто знает, какую команду давать крону? (Версия 1.10.4)
#2 4 декабря 2014 в 16:45
Интересная задача, присоединяюсь к вопросу
#3 4 декабря 2014 в 17:01
Возможно как вариант прописать в задании метод logout() класса user.class
#4 4 декабря 2014 в 19:03
Так сделать нельзя для всех разом. Только в автологине разлогинивать самостоятельно.
#5 4 декабря 2014 в 19:08
А разве нельзя циклом перебрать всех юзеров и каждого разлогинить? Только не соображу какую команду давать?

  1. $inUser->logout();
Только надо ID юзера сюда подставлять как-то
#6 4 декабря 2014 в 23:58
Alexneva, нет, если у юзера есть кука автовхода, то разлогинить его можно только при его первом входе.
#7 5 декабря 2014 в 00:51
Разлогинить всех пользователей равнозначно удалению всех текущих сессий вашего сайта, что делается следующим образом:
  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!
#8 5 декабря 2014 в 13:17
stealthdebuger, благодарю за столь подробный ответ. Будем пробовать…
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.

Похожие темы

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.