С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490

Сброс сессий пользователей

15.03.2018, 16:00. Показов 2928. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ситуация следующая: для своей (самописной) CRM приобретен виртуальный хостинг, который, как и все думаю, регистрирует нагрузку на сервер (MySQL и http; нагрузка остальных служб типа cron, ftp и пр. ничтожно мала).
В связи с необходимостью получать более-менее оперативно актуальную информацию по данным из БД часть CRM юзает AJAX-запросы к серверу.

Фишка в том, что юзвери не очень любят выключать компы на ночь, а уж разлогиниваться из системы - это вообще космос.

Соответственно, всё нерабочее время сервер постоянно "грузится" никому не нужными запросами.

Я мог бы, конечно, организационно тут на месте "заставлять" юзверей выключать компы. Но у меня еще есть распределенная сеть, в которой работают не мои сотрудники.. в общем как-то так.

Поэтому я чего хочу замутить: после окончания рабочего дня бахнуть выключение всех сессий всех пользователей. Может даже с периодичностью в час, к примеру.
Только вот не соображу, как пользователей "разлогинивать". Есть мысли?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.03.2018, 16:00
Ответы с готовыми решениями:

Ограничение по количеству сессий. Максимальное число пользователей 20
Доброе время суток. У меня следующий вопрос. При создании общей папки в windows 7 присутствует ограничение в 20 пользователей на...

VBulletin Сброс паролей пользователей
сброс паролей пользователей Подскажите есть такая функция, как массовый сброс паролей всех пользователей? Чтобы каждому пользователю...

Связать группы пользователей из мастер защиты на уровне пользователей с должностями пользователей в БД
Интересный вопрос и интересно как его решить. Изначально условия следующие: один компьютер, один рабочий стол, одна база...

19
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
15.03.2018, 16:11
Лучший ответ Сообщение было отмечено Laroux как решение

Решение

Удалять все файлы в папке с сессиями раз в сутки
1
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
15.03.2018, 16:29  [ТС]
А если она недоступна (виртуальный хостинг)?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
15.03.2018, 16:36
Она не может быть недоступна, php ведь туда каким-то образом помещает
0
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
15.03.2018, 16:58  [ТС]
ну phpinfo() говорит, что session.save_handler=files, а session.save_path=\tmp
но папка \tmp, насколько я вижу, находится "выше корня" моего хостинга. Или я туплю?

Добавлено через 19 минут
написал в ТП хостинга.. говорят, что сессий в папке \var\tmp действительно.. А доступа туда у меня, все таки, нет. Спросил как быть)
Посмотрим, что ответят
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
15.03.2018, 17:05
Говорят что нет доступа, или его действительно нет? Есть подозрение что все сессии всех пользователей храняться в 1 директории. Меня бы это очень смутило, вплоть до отказа от данного хостера.
0
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
15.03.2018, 17:11  [ТС]
его действительно нет
пытаюсь выяснить, что к чему. А самостоятельно как-то могу понять, что все сессии пользователей всех хостингов данного сервера хранятся в одном месте?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
15.03.2018, 17:18
Laroux, таки нет? А если написать php скрипт который будет читать содержимое папки session.save_path?
0
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
15.03.2018, 17:35  [ТС]
PHP
1
2
3
4
5
6
7
8
if ($handle = opendir(session_save_path())) {
    while (false !== ($entry[] = readdir($handle))) {
    }
    echo count($entry);
    echo '<pre>';
    print_r($entry);
    echo '</pre>';
}
Записи: 25788
Чот дохера. Не?

Добавлено через 6 минут
ответ ТП:
все сессии хранятся в одной директории, однако владельцы у файлов разные, каждый пользователь имеет доступ только к своим файлам сессий
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
15.03.2018, 17:38
Laroux, доступ есть. И скорее всего не только к твоим сессиям, но и чужим. Можно поэксперементировать прочитав что в файлах. Но предупреждаю что в РФ это незаконно, несмотря на то что косяк хостера.
0
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
15.03.2018, 17:46  [ТС]
Warning: file_get_contents(/tmp/ci_sessiХХХХХХХХХХХХХХХХХХdfdbd60a74fe4e 5065): failed to open stream: Permission denied in ...
0
 Аватар для otto-fukin
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
15.03.2018, 17:52
Цитата Сообщение от Laroux Посмотреть сообщение
Соответственно, всё нерабочее время сервер постоянно "грузится" никому не нужными запросами.
уберите ненужные запросы со своих страниц. сервер сам рубанет сессию
0
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
15.03.2018, 17:53  [ТС]
Продолжаем разговор с ТП) Как же мне, все таки, быть хозяином своих сессий

Добавлено через 43 секунды
Цитата Сообщение от otto-fukin Посмотреть сообщение
уберите ненужные запросы со своих страниц
и как я должен отличить "нужные" от "ненужных"?)))
0
 Аватар для otto-fukin
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
15.03.2018, 17:57
html страница гордая, не пнёшь - не полезет на сервер. значит у вас идут js запросы к серверу. а зачем?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
15.03.2018, 17:57
Laroux, содержимое недоступно, но ид сессии из имени файла вытащить можно. Если узнать какие сайты еще хостятся на машине то можно завладеть чужими сессиями, и для безопасности это так себе, я бы рекрмендовал сменить этого хостера, если есть один косяк, то вероятно найдется и другой.
Непонимаю что помешало сессии разных клиентов в разные директории. Можно попробовать это сделать самому, если хостер не заблокировал такую возможность.
0
 Аватар для otto-fukin
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
15.03.2018, 19:34
Цитата Сообщение от Laroux Посмотреть сообщение
Как же мне, все таки, быть хозяином своих сессий
session.save_handler,не?
0
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
16.03.2018, 09:50  [ТС]
Цитата Сообщение от Jewbacabra Посмотреть сообщение
если хостер не заблокировал такую возможность
не заблокировал, слава богу. Выношу в свою личную папочку.
Цитата Сообщение от otto-fukin Посмотреть сообщение
у вас идут js запросы к серверу. а зачем?
а как прикажете обновлять оперативно инфу на странице? До Node.js не дорос. Поддерживать свой сервак - дорого. Варианты? Ток AJAX (пока что во всяком случае)

Добавлено через 3 минуты
Цитата Сообщение от otto-fukin Посмотреть сообщение
session.save_handler,не?
да. просто изначально от хостера была инфа, что пользователю менять нельзя
0
 Аватар для otto-fukin
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
16.03.2018, 10:45
Цитата Сообщение от Laroux Посмотреть сообщение
а как прикажете обновлять оперативно инфу на странице?...Ток AJAX (пока что во всяком случае)
поставьте таймер. после 20 минут бездействия останавливать посыл запросов

Добавлено через 1 минуту
после остановки выставите сообщение "обновите страницу"
0
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
16.03.2018, 11:13  [ТС]
Цитата Сообщение от otto-fukin Посмотреть сообщение
после 20 минут бездействия
не покатит. Там достаточно большие статформы, которые иногда требуют уточнения и связи с клиентом. На такой странице человек может "висеть" несколько часов

А кроме того мониторинг операций в системе тоже через аякс.. короче не варик. Я думал над этим делом очень долго, но решений, кроме озвученных выше, не нашел. И они меня не устраивают пока что

Добавлено через 39 секунд
да и, собственно, вопрос уже решен. Папками для сессий завладел лично и буду ими рулить теперь

Добавлено через 19 минут
Уф.. все. Посмотрим на нагрузку ночью теперь. Очень интересно
0
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
22.03.2018, 11:18  [ТС]
Все хорошо, что хорошо кончается:
- перенес сессии к себе в аккаунт;
- настроил по крону очистку папки файлов сессий после окончания рабочего дня;
- увеличил таймаут AJAX-запросов всех вдвое.

Итог: уменьшение нагрузки на хостинг как минимум втрое. Всем еще раз спасибо за советы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.03.2018, 11:18
Помогаю со студенческими работами здесь

Joomla 3 - индивидуальные файлы Excel для пользователей и групп пользователей
Доброго времени суток! Подскажите, пожалуйста, как реализовать следующую задачу. Когда пользователь входит на сайт под своей учетной...

Статистика пользователей: показывать, сколько пользователей работают сейчас в программе
доброго времени суток! как сделать статистику пользователей для своей программы как в скайпе? заходит пользователей то +1 к этому...

Получить список пользователей, относящихся к группе с наибольшим числом пользователей
Дали задание: &quot;Получить список пользователей относящихся к группе с наибольшим числом пользователей&quot; программа для Линукса, никогда не...

Где почитать про пользователей и группы пользователей в Windows 7?
Подскажите где почитать про пользователей и группы пользователей в windows 7?

Статистика пользователей - как идентифицировать пользователей с одинаковыми именами
есть 2 таблицы users, и item, в таблице item есть поле username, задача такова что бы вывести информацию о том сколько записей сделал user...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru