phpbb_sessions

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Profforg
phpBB 1.4.2
Сообщения: 51
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 1 раз

Re: phpbb_sessions

Сообщение Profforg »

Спасибо за совет, но я всё это понимаю.

Моя задача сделать сессию вечной (чтобы юзерам не требовалось входить по многу раз; один раз вошел - и навсегда пока браузер не поменяешь или на сайте что-нибудь не слетит) или максимально возможной. Скажем, я уже год не ввожу логина и пароля при входе на свой сайт. Но для гостей сессии можно сократить до минимума. Вот только в phpbb я не вижу возможности это сделать, т.к. все параметры одинаковы для гостей и пользователей, поэтому и возникает проблема.

Я думаю, что при смене любого из озвученных параметров (кроме временного диапазона онлайн-статистики наверно) сессия будет сбрасываться очень быстро.
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: phpbb_sessions

Сообщение xisp »

Profforg писал(а):Я думаю, что при смене любого из озвученных параметров (кроме временного диапазона онлайн-статистики наверно) сессия будет сбрасываться очень быстро.
У меня параметры по умолчанию, пароль ввожу только при перелогине под другим ником))) То есть такая же вечная.
Поставил на тестовом сервере минуту, обновил страницу через пять- я по прежнему залогинен))
То есть автовход не связан с временем жизни сессии.
phpBBex
Profforg
phpBB 1.4.2
Сообщения: 51
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 1 раз

Re: phpbb_sessions

Сообщение Profforg »

xisp писал(а):У меня параметры по умолчанию, пароль ввожу только при перелогине под другим ником))) То есть такая же вечная.
Поставил на тестовом сервере минуту, обновил страницу через пять- я по прежнему залогинен))
То есть автовход не связан с временем жизни сессии.
Если все эти параметры поставить минуту то вас точно должно разлогинить) Просто не может быть иначе.
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: phpbb_sessions

Сообщение xisp »

Profforg писал(а):Если все эти параметры поставить минуту то вас точно должно разлогинить)
А вот фиг))) Попробуйте сами.
Поймите- главный параметр тут

Код: Выделить всё

Время действия автоматического входа (дней): 0 (без лимита)
А сессия форума- это просто запоминалка текущей страницы, длительности, айпишника и прочей служебной информации, необходимой только самому форуму.
phpBBex
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: phpbb_sessions

Сообщение Sheer »

Profforg писал(а):Моя задача сделать сессию вечной
Какая глупость несусветная :)
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Profforg
phpBB 1.4.2
Сообщения: 51
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 1 раз

Re: phpbb_sessions

Сообщение Profforg »

xisp писал(а):
Profforg писал(а):Если все эти параметры поставить минуту то вас точно должно разлогинить)
А вот фиг))) Попробуйте сами.
Поймите- главный параметр тут

Код: Выделить всё

Время действия автоматического входа (дней): 0 (без лимита)
А сессия форума- это просто запоминалка текущей страницы, длительности, айпишника и прочей служебной информации, необходимой только самому форуму.
После изменения "Длительность сессии:" в phpbb в значение 60 (секунд) - сразу же сбросились все сессии (абсолютно всех разлогинело). Но после повторного входа, вроде как, больше не сбрасывается. Но дольше проверять не стал - возможно сброситься потом, т.к. сбрасываются они вероятно по крону (после изменения значения переменной скорее всего этот процесс запускается сразу, поэтому сразу и разлогинело). В общем вещь опасная) Думаю пока стоит остановиться на удалении всех сессий гостей каждую минуту.
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: phpbb_sessions

Сообщение xisp »

Profforg писал(а):В общем вещь опасная)
Если чего- то боитесь- поставьте стандартное значение, проверенное годами.
И да, почему меня не разлогинивает?
phpBBex
Profforg
phpBB 1.4.2
Сообщения: 51
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 1 раз

Re: phpbb_sessions

Сообщение Profforg »

xisp писал(а):Если чего- то боитесь- поставьте стандартное значение, проверенное годами.
И да, почему меня не разлогинивает?
Если при значении в 60 секунд разлогинело, то при значении дефолтном - 14400 или неважно сколько, разлогинет через это количество секунд...

Честно - незнаю. Может у вас используется phpbbex а не phpbb?
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: phpbb_sessions

Сообщение xisp »

Profforg писал(а):Может у вас используется phpbbex а не phpbb?
Там сессии не трогались. И я перепроверил на 3.1, тоже самое.
Profforg писал(а):Если при значении в 60 секунд разлогинело,
Profforg писал(а):Но после повторного входа, вроде как, больше не сбрасывается.
В каком из постов вы соврали?
Разлогинело при изменении параметров, это логично. Но потом заработал автовход, который восстанавливает сессию.
phpBBex
Profforg
phpBB 1.4.2
Сообщения: 51
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 1 раз

Re: phpbb_sessions

Сообщение Profforg »

xisp писал(а):Но потом заработал автовход, который восстанавливает сессию.
Как я уже сказал, вроде как он заработал и больше не разлогинело (но заметьте, что после такого изменения ВСЕМ пользователям придётся один раз зайти заного, а это для меня достаточно серьёзно). Больше 5 минут ждать не стал.

Как бы там ни было, это не отменяет того факта, что флудом на сайт можно забить таблицу сессий. Ведь для каждого гостя формируется новая сессия (не делается никаких проверок). Зачем вообще нужны сессии для гостей? Или, почему для них не сделано отдельных переменных по истечению сессии...непонимаю... Миллион запросов к сайту = миллион сессий в БД. Это знаете ли, не мало для маленького сайта.
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: phpbb_sessions

Сообщение xisp »

Profforg писал(а):а это для меня достаточно серьёзно
Не понимаю. Просто не понимаю, что у вас за пользователи.
Profforg писал(а):Как бы там ни было, это не отменяет того факта, что флудом на сайт можно забить таблицу сессий.
Есть множество других способов закидать форум до нерабочего состояния.
Profforg писал(а):Зачем вообще нужны сессии для гостей?
Результаты прохождения антибот- теста для отправки сообщения (да, у меня разрешена отправка сообщений гостями), объединение идущих подряд сообщений для одного и того же гостя.
phpBBex
Profforg
phpBB 1.4.2
Сообщения: 51
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 1 раз

Re: phpbb_sessions

Сообщение Profforg »

xisp писал(а):Не понимаю. Просто не понимаю, что у вас за пользователи.
Это пользователи, которые в сайтах ничего не понимают и сайт для них, как магия. Моя задача - чтобы все они были всегда залогинены и находились в онлайн-чате, который служит основной частью форума. Когда любой из них разлогиневается - с 50% вероятностью он просто уйдёт. Если он придёт завтра и не увидет себя залогиненым - с большой вероятностью он уйдёт снова. И так будет до того момента, пока не будет идеальное настроение и желание зайти. Это маленькое закрытое сообщество, в котором сайт не главная часть. Чтобы они оставались всегда на сайте и давали сообществу активность (хотя бы просто своим присутствием) - они не должны получать разлогивание, никогда.
xisp писал(а):Есть множество других способов закидать форум до нерабочего состояния.
От всех этих способов мой сайт защищён. Сессии единственное очевидное уязвимое место.

xisp писал(а):Результаты прохождения антибот- теста для отправки сообщения (да, у меня разрешена отправка сообщений гостями), объединение идущих подряд сообщений для одного и того же гостя.
Не у всех разрешена отправка сообщений гостями. И думаю я буду прав, если предположу, что у большинства она не разрешена. Вот для этой части, стоило бы сделать опцию настройки, которая отдельно управляет гостевыми сессиями.
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: phpbb_sessions

Сообщение xisp »

Profforg писал(а):Это пользователи, которые в сайтах ничего не понимают и сайт для них, как магия.
Может всё таки повышать их образованность, потихоньку?
Profforg писал(а):От всех этих способов мой сайт защищён.
Ха ха три раза. Даже Гугл удачно ддосили. Нет ничего неуязвимого.
Profforg писал(а):Не у всех разрешена отправка сообщений гостями. И думаю я буду прав, если предположу, что у большинства она не разрешена
А если бы она была разрешена, то ничто не мешало случайно разлогиненым пользователям попросить в гостевом разделе о помощи.
Profforg писал(а):Вот для этой части, стоило бы сделать опцию настройки, которая отдельно управляет гостевыми сессиями.
Ничего не нужно, я уже показывал, что при стандартных настройках ничего не ломается. К сожалению, при изменении настроек происходит разлогин, поэтому вы обречены мучатся с костылями.

В общем вот решение вашей проблемы:
Открываете файл session.php, там находите строки

Код: Выделить всё

		// Firstly, delete guest sessions
		$sql = 'DELETE FROM ' . SESSIONS_TABLE . '
			WHERE session_user_id = ' . ANONYMOUS . '
				AND session_time < ' . (int) ($this->time_now - $config['session_length']);
		$db->sql_query($sql);
И заменяете $config['session_length'] на нужное вам значение длинны сессии для гостей. Только не очень маленькое- есть некоторая нагрузка при создании сессии. Например, 3600.
Не тестировал, но должно работать железно.
phpBBex
Profforg
phpBB 1.4.2
Сообщения: 51
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 1 раз

Re: phpbb_sessions

Сообщение Profforg »

xisp писал(а):Может всё таки повышать их образованность, потихоньку?
Не получится. Их уровень намного хуже бабушек и они не способны к обучению.
xisp писал(а):Ха ха три раза. Даже Гугл удачно ддосили. Нет ничего неуязвимого.
Я системный администратор с 2007) Активно работаю в сфере high-load и имею на обслуживании много сайтов с миллионом и больше просмотров в день. Информационная безопасность один из моих приоритетов. Сайт за кеширующим прокси (CDN); на сервере фильтрация при помощи модифицированного nginx; через nginx и на уровне CDN в постоянном режиме анализируется трафик и в случае аномалий активируется проверка на ботов, которая проверяет браузер каждого приходящего - боты через неё не пройдут.
Данная проблема с сессиями плоха тем, что вызывается банальными посещениями. Для моего текущего сайта выделен совсем маленький сервер. Он просто не рассчитан на такое количество записей в таблицы, не хочется делать индексы ради этого. Я бы хотел, чтобы в таблице phpbb_sessions были только сессии авторизованных пользователей. Т.к. простые посещения страницы не должны создавать нагрузку. Вообще phpbb отличный движок в этом плане - нагрузка от него очень маленькая и скорость загрузки страниц (TTB - time to first byte) идеальна (100-200 миллисекунд для зарегистрированных и меньше для гостей).
У меня на этот сайт настроен мониторинг через несколько систем, которые просто заходят по HTTP на главную. Некоторые системы проверяют одновременно с 20 точек, и в итоге это получается 200-500 запросов на главную каждую минуту. Некоторые системы я просто тестирую - смотрю как у них с ложными обнаружениями. Поэтому таблица забивается быстро.
xisp писал(а):А если бы она была разрешена, то ничто не мешало случайно разлогиненым пользователям попросить в гостевом разделе о помощи.
Я ничего не имею против гостевого раздела и разрешения гостям писать. Но нужно продумать защиту от спама в этом случае. Я ещё не встречал защиты лучше, чем специальный набор вопросов (но это конечно помогает только от автоматических ботов, когда у вас нет врага, который специально настраивает бота под ваш сайт). Возможно вы не сталкивались с массивным спамом, поэтому не ведите смысла в ограничении гостей, но когда-нибудь сталкнётесь)
xisp писал(а):В общем вот решение вашей проблемы:
Открываете файл session.php, там находите строки
КОД: ВЫДЕЛИТЬ ВСЁ
// Firstly, delete guest sessions
$sql = 'DELETE FROM ' . SESSIONS_TABLE . '
WHERE session_user_id = ' . ANONYMOUS . '
AND session_time < ' . (int) ($this->time_now - $config['session_length']);
$db->sql_query($sql);


И заменяете $config['session_length'] на нужное вам значение длинны сессии для гостей. Только не очень маленькое- есть некоторая нагрузка при создании сессии. Например, 3600.
Не тестировал, но должно работать железно.
phpBBex 1.7.1
Спасибо. Но я не хотел бы трогать код, потому что при обновлении могут возникнуть проблемы и обновлять придётся вручную.

То что есть нагрузка при создании сессии - это понятно. Но сессия проверяется через cookie. В моём случае и в случае защиты от ботов, куки никогда нет (боты не запоминают куки, по крайней мере боты, которые осуществляют мониторинг на аптайм). Поэтому я предпочту использовать 60 секунд в этом случае.
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: phpbb_sessions

Сообщение xisp »

Profforg писал(а):Не получится. Их уровень намного хуже бабушек и они не способны к обучению.
Нафиг они вообще нужны?
Profforg писал(а): и в случае аномалий активируется проверка на ботов, которая проверяет браузер каждого приходящего - боты через неё не пройдут.
И пользователи тоже. Если ваши даже пароль ввести не могут, то уж капчу гугла (по крайней мере у клоундфары она) они точно не введут.
Profforg писал(а):У меня на этот сайт настроен мониторинг через несколько систем, которые просто заходят по HTTP на главную. Некоторые системы проверяют одновременно с 20 точек, и в итоге это получается 200-500 запросов на главную каждую минуту.
И зачем вам несколько?
Profforg писал(а):но когда-нибудь сталкнётесь)
В phpBBex нормальная защита от спама, плюс те же вопросы.
Но на phpBB есть антибот 100500, вполне сейчас защищает без напряга пользователей.
Profforg писал(а):Но я не хотел бы трогать код, потому что при обновлении могут возникнуть проблемы и обновлять придётся вручную.
Поэтому я и написал:
xisp писал(а): К сожалению, при изменении настроек происходит разлогин, поэтому вы обречены мучатся с костылями.
Profforg писал(а): В моём случае и в случае защиты от ботов, куки никогда нет (боты не запоминают куки, по крайней мере боты, которые осуществляют мониторинг на аптайм)
Может их лучше занести в стандартный список ботов? Они проверяются иным методом, через юзерагент, и запись в таблице сессий у них всегда одна.
Занесите их в список ботов и ставьте для гостей нормальное значение.
phpBBex

Вернуться в «Поддержка phpBB 3.0.х»