Сайт сообщества | Клуб пользователей | О проекте

Имя
Пароль
ПравилаРегистрацияСправка
Сообщения за деньПоиск

Вернуться   Клуб пользователей портальной системы RUNCMS > Опен Ресурс > Разработчикам > Готовые хаки

 
 
Опции темы Опции просмотра
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #1 06-23-2010, 12:39

При использовании сессии правильным будет подход, когда сеанс авторизации длится до закрытия браузера. По умолчанию оно так и есть.

Но если очень хочется сделать автологин, можно попробовать следующее.

Во-первых, в основных настройках сайта должна быть включена опция «Использовать для авторизации сессии вместо cookies»

Во-вторых надо сделать этот фикс: "Исправление ошибки авторизации при использовании сессий вместо cookies"

Далее, если у вас не используется для вашего сайта отдельная директория для сессий, создайте наравне с корневой директорией сайта отдельную папку. Например, /sessions/ . Это важно, так как если сессии на хостинге хранятся в общей папке (как правило, /tmp), то другие скрипты будут очищать эту папку, в большинстве случаев, по стандартному таймауту (30 минут).

Далее опять открываем файл /include/common.php и перед строкой (она появится после вышеуказанного фикса)

PHP код:
session_name($rcxConfig['session_name']); 
пишем

PHP код:
$session_path $_SERVER['DOCUMENT_ROOT'] . '/../sessions';
session_save_path($session_path);
ini_set('session.gc_maxlifetime', (int)$rcxConfig['session_expire']); // Если разрешена функция ini_set()
session_set_cookie_params((int)$rcxConfig['session_expire']); 
ну, и следим, чтобы папка /sessions/ излишне не разрасталась, подстраивая время сессии.

У вас должна быть разрешена функция ini_set(), иначе параметр session.gc_maxlifetime можно поменять через .htaccess (опять же если разрешено), добавить нужное время в секундах

Цитата:
php_value session.gc_maxlifetime 1440
----

Также, можно сделать еще один незначительный фикс

найти строку

PHP код:
@session_cache_expire($session_cache_expire); 
и поменять ее на

PHP код:
@session_cache_expire($session_cache_expire 60); 
так как время там задается в минутах, а не секундах

Последний раз редактировалось LARK, 06-23-2010 в 14:11


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Рейтинг@Mail.ru Хостинг провайдер Majordomo. Powered by: vBulletin Version 3.0
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Все разделы прочитаны - Руководство форума - Архив - Вверх
Rambler's Top100
Output: 97.14 Kb. compressed to 95.33 Kb. by saving 1.81 Kb. (1.86%)
Page generated in 0.12379 seconds with 11 queries