Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по сессиям

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Костэн
Отправлено: 26 Августа, 2011 - 14:25:16
Post Id


Новичок


Покинул форум
Сообщений всего: 59
Дата рег-ции: Нояб. 2007  
Откуда: Россия, Ставрополь


Помог: 0 раз(а)




Доброго времени суток. Столкнулся с затруднительной ситуацией. Её подробное описание: существует форма отправки на сервер авторизационных данных пользователя. На стороне сервера они обрабатываются функцией, которая делает запрос к базе данных на вывод идентификатора пользователя, идентичного полученному логину и паролю. В случае удачной выборки, идентификатор добавляется в сессионную куку. Затем пользователь перенаправляется на страницу, которая осуществляет AJAX - запрос на сервер для вывода списка доступных модулей. Помимо доступных модулей, сервер присылает установленное в файле .htaccess время сессии, посредством функции ini_get("session.gc_maxlifetime"). Основываясь на присланной информации о времени жизни сессии, на стороне клиента запускается функция, которая с указанным временным интервалом + дополнительные пять секунд, отправляет на сервер AJAX - запрос на проверку присутствия в массиве $_SESSION идентификатора пользователя. В качестве ответных данных сервер шлёт единицу (если идентификатор найден) или ноль (в противном случае). В зависимости от присланных данных, функция запускает сама себя (если в ответе пришла единица), или выводит на экран модальное окно авторизации (в противном случае).
Содержимое файла .htaccess:

CODE (htmlphp):
скопировать код в буфер обмена
  1. php_value session.gc_maxlifetime 10
  2. php_value session.cookie_lifetime 10
  3.  
  4. php_value session.gc_probability 100
  5. php_value session.gc_divisor 1


Насколько я знаю, вызов уборщика устаревших сессионных кук осуществляется по формуле - php_value session.gc_probability / php_value session.gc_divisor. Также знаю, что если один сервер обрабатывает запросы с нескольких сайтов, то сессии обновляются. Чтобы решить данную проблему надо сменить директорию для сессий. Но мой случай не подходит, так как запросы осуществляет только один сайт.

Вопрос: что в данной ситуации мне ещё необходимо сделать, чтобы сессия удалялась в назначенное для неё время ?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB