3 / 3 / 2
Регистрация: 05.01.2013
Сообщений: 264
|
|
1 | |
При смене PHPSESSID генерится новая сессия, кончаются inode10.09.2019, 18:34. Показов 3303. Ответов 5
Метки нет (Все метки)
Когда в браузере меняешь PHPSESSID, генерируется новая сессия и создается файл сессии в соответствующей папке. Если делать это по скрипту, папка может переполниться, кончатся inodes и весь сервак ляжет, как данную проблему зарешать?
1. Можно, конечно. уменьшить время жизни неактивных сессий до дня или двух, но вариант не очень. 2. Если установить enableAutoLogin в false, то при смене PHPSESSID юзера просто разлогинивает, но я не знаю как это в целом повлияет на юзабельность сайта. Самое грамотное как по мне, но только как сделать максимально безболезненно для юзеров? 3. Можно ли увеличить inodes для тома? Но это не совсем решение, скорее костыль. Ваши идеи по этому поводу? В чем цель данного действия, чего хакер(школьник?) пытается достичь? Как называется подобный вид атаки?
0
|
10.09.2019, 18:34 | |
Ответы с готовыми решениями:
5
Почему при переходе на новую страницу создается новая сессия? session.referer_check = 1, а при обновлении всеравно появляется новая сессия IIS. На сайте даже просто при обновлении страницы начинается новая сессия! Проблема с IIS под Win2K. При переходе от одной страницы приложения каждый раз стартует новая сессия. |
Заблокирован
|
|
12.09.2019, 23:22 | 2 |
Очень интересно. У меня как-то в папке mod-tmp собралось несколько миллионов файлов сессий за продолжительное время. Случайно это обнаружил. Не было настроено удаление старых файлов сессий. А сервер работал без проблем. Сколько же надо, что бы положить сервер? А точно создается новый файл? Может переписывается существующий при удалении сессионной куки?
Добавлено через 4 минуты Да... забыл сказать. Когда хостер настроил удаление старых файлов сессий - сайт стал подвисать. Я изменил владельца папки и удаляю счас старые файлы переодически вручную скриптом. Ориентируюсь на время создания файла. Сутки побыл на сервере - пошел вон)
0
|
3 / 3 / 2
Регистрация: 05.01.2013
Сообщений: 264
|
||||||
13.09.2019, 20:10 [ТС] | 3 | |||||
Ну он лег в том плане, что кончились INODE перестали создаваться новые сессии, юзеры не смогли логиниться, все стало дико глючить, я боюсь, что и с БД могли проблемы быть, да с чем угодно. Это еще хуже чем просто положить. Дело не в настройках, а в том, что когда юзер меняет в браузере sessid сессия перегенерируется, создается новый файл и юзер уже логинится под новой сессией, а старая остается на 2 недели, потому что настройки на 2 недели по дефолту стоят.
Почему так - хз, возможно юзер юзал глючного бота, который логинился по 5 раз в секунд и каждый раз переписывал сессию, а возможно он пытался спецом что-то там получить. В теории ведь даже если подобрать PHPSESSID нельзя спереть чужую сессию? Просто потому что аутенфикация происходит еще и по ключу в __identity в yii? Меня больше интерсует, как правильно настроить YII2 чтобы такой фигни не было? Пока юзаю как временную меру подобный скрипт каждые n секунд:
1
|
Заблокирован
|
||||||
14.09.2019, 20:31 | 4 | |||||
Я пару раз в день запускаю вручную этот скрипт, когда захожу проверить сайт
Добавлено через 1 минуту Ставлю тебе спасибо за хорошую идею. В следующий раз если мне не понравиться сайт - попробую его переполнить файлами сессий. А вдруг получиться
0
|
3 / 3 / 2
Регистрация: 05.01.2013
Сообщений: 264
|
|
15.09.2019, 17:24 [ТС] | 5 |
А как ее исправить? Это дефолтный класс user yii2 так работает, в нем дыра, ну либо я что-то не настроил, поэтому и спрашиваю здесь, вроде тематический раздел форума. Какие есть идеи по поводу удаления этой дыры? Я так понимаю, что время от времени SESSID в браузере сам по себе меняется, когда его закрываешь, например, потому что каждый день новый сессайди, соответственно, если отключить autoLogin в yii, каждый раз придется вручную логиниться, что не есть гуд. А как отличить браузерную смену сессий и специальный абуз? Ограничить как-то автогенерируемое количество сессий в день на юзера?
А поподробней можно? Я не понимаю о чем речь. Твой скрипт тоже просто удаляет файлы сессий, по сути делает то же самое, что и мой баш скрипт.
0
|
Заблокирован
|
|
15.09.2019, 21:39 | 6 |
Ну, вот, например, такая логика. Перед тем как устанавливать сессию, проверяется, была ли запись в базе юзера с таким же айпи. Если не было - устанавливается сессия и делается запись. Можно продумать и дополнительные условия. Таблицу в базе тоже потом придется переодически чистить или удалять старые записи. У меня есть похожая таблица, но только для немного других целей.
И еще. Я так понимаю, что это какой-то один недоброжелатель этим занимается. Можно проверить логи посещений. Так же вычислить этот айпи. Правда, потом придется блокировать целый диапазон айпишников, если у него он динамический. Пройдет время... ему надоест.. и уберешь эту блокировку.
0
|
15.09.2019, 21:39 | |
15.09.2019, 21:39 | |
Помогаю со студенческими работами здесь
6
Другие сети, мои, видны.Но при попытки к ним кончаются тем, что переподключается посторонняя сеть. О СТРУКТУРЕ INODE и потоках Не генерится превьюшка Каптча не генерится Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |