Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Таблица oc_session больше 800 мб


aleksss454
 Поделиться

Рекомендованные сообщения

Здравствуйте, сегодня зашел в бд и удивился её размеру таблица oc_session 857 мб.  https://prnt.sc/r7i5uo

Использую движок ocStore 3.0.2.0 php 7.2 на сайте пока что посетителей мало, откуда такой размер таблицы?

Я так понимаю это не нормально! Кто с этим сталкивался как почистить и не повлечет ли это проблем.

На данном форуме инфы об этом толком нет

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

 

прошу подсказать может кто сталкивался да и знахарей тут хватает!

Ссылка на комментарий
Поделиться на других сайтах


Очистите таблицу через phpmyadmin (не удалить, а именно очистить)

 

4 часа назад, aleksss454 сказал:

не повлечет ли это проблем

 

Слетит авторизация у всех, разве что.

Ссылка на комментарий
Поделиться на других сайтах

clean-session-db-oc3.ocmod.xml

Добавте етот модификатор в папка system и обновите модификаторов в админ.

Удаляет все сесии кроме 1 ден.

Не удаляйте и все будет ок.

  • +1 8
Ссылка на комментарий
Поделиться на других сайтах

20 минут назад, Agatha65 сказал:

clean-session-db-oc3.ocmod.xml 743 \u0411 · 0 downloads

Добавте етот модификатор в папка system и обновите модификаторов в админ.

Удаляет все сесии кроме 1 ден.

Не удаляйте и все будет ок.

Мне больше нравится решение из 3.1

Ссылка на комментарий
Поделиться на других сайтах

17 часов назад, Agatha65 сказал:

clean-session-db-oc3.ocmod.xml 743 \u0411 · 3 downloads

Добавте етот модификатор в папка system и обновите модификаторов в админ.

Удаляет все сесии кроме 1 ден.

Не удаляйте и все будет ок.

Спасибо попробую.

Ссылка на комментарий
Поделиться на других сайтах


17 часов назад, chukcha сказал:

Мне больше нравится решение из 3.1

из 3.1  - а можно поподробнее что за решение? И где что заменить?

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


26 минут назад, aleksss454 сказал:

из 3.1  - а можно поподробнее что за решение? И где что заменить?

посмотрите на гите как это сделано

Но мод от @Agatha65 вполне приемлем

 

Ссылка на комментарий
Поделиться на других сайтах

  • 11 месяцев спустя...
  • 3 недели спустя...
В 26.02.2020 в 18:01, Agatha65 сказал:

clean-session-db-oc3.ocmod.xml 743 \u0411 · 119 downloads

Добавте етот модификатор в папка system и обновите модификаторов в админ.

Удаляет все сесии кроме 1 ден.

Не удаляйте и все будет ок.

Плюсую! :eek:

Было 600 Мб, стало 23. Еще бы c CartKeeper'ом разобраться - освободилось бы еще 12 Мб.

Ссылка на комментарий
Поделиться на других сайтах

4 часа назад, SergeTkach сказал:

Было 600 Мб, стало 23. Еще бы c CartKeeper'ом разобраться - освободилось бы еще 12 Мб

CartKeeper - какое отношение имеет к теме?

и что-то в его покупателях не числитесь, какое отношение он имеет к вам?

Ссылка на комментарий
Поделиться на других сайтах

42 минуты назад, AlexDW сказал:

CartKeeper - какое отношение имеет к теме?

Темы касает очень косвенно, но касается. Ведь речь о заполнении базы. И, да, по сравнению с 600 Мб, которые добавили сессии, 12 Мб - это ерунда. Претензий к Вам по этому поводу не высказывал. Просто поворчал. Я люблю ворчать.

 

---

42 минуты назад, AlexDW сказал:

в его покупателях не числитесь, какое отношение он имеет к вам?

Работаю с сайтом metal-mangal.ru. Скопировал себе на локалку. 15 минут ждал, когда бекап базы загрузится. Ворчливое настроение от этого и появилось. Было ж интересно посмотреть все таблицы, которые весят лишнего при 300 товарах-то - откуда 23 Мб осталось после удаления сессий?!

Ссылка на комментарий
Поделиться на других сайтах

13 минут назад, SergeTkach сказал:

Работаю с сайтом

ок, теперь понятно

судя по всему, стоит старая версия 1.30 - у нее был баг логики, приводящий к росту

с версии 1.31 это устранено, достаточно обновиться

Ссылка на комментарий
Поделиться на других сайтах

1 минуту назад, AlexDW сказал:

ок, теперь понятно

судя по всему, стоит старая версия 1.30 - у нее был баг логики, приводящий к росту

с версии 1.31 это устранено, достаточно обновиться

Да, 1.30. Спасибо! )

Скажу клиенту. У меня архива нету.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...

Столкнулся с той же проблемой  - гигантский размер таблицы с сессиями. Модификатор поставил. Но интересна причина.

Скажите, это нормально, что за день таблица растёт на 10000 строк при посещаемости в тыщу человек?

Ссылка на комментарий
Поделиться на других сайтах


10 minutes ago, gandhari said:

что за день таблица растёт на 10000 строк при посещаемости в тыщу человек?

это норм. посещения от поисковых роботов так же стартуют сессии - а посещений от них нередко даже больше чем от клиентов.

 

Как вариант, можно давать ботам 10минутную сессию, в отличие от длинной клиентской, что бы в самое ближайшее время она была удалена. Тогда в таблице будут копиться только живые сессии живых посетителей

Ссылка на комментарий
Поделиться на других сайтах

3 минуты назад, 100napb сказал:

это норм. посещения от поисковых роботов так же стартуют сессии - а посещений от них нередко даже больше чем от клиентов.

Вот я как раз на роботов и грешу, т.к.:

1) резкий рост таблицы начался после замены старого сайта на этот

2) каждая пятая сессия - из USA

3 минуты назад, 100napb сказал:

Как вариант, можно давать ботам 10минутную сессию, в отличие от длинной клиентской, что бы в самое ближайшее время она была удалена. Тогда в таблице будут копиться только живые сессии живых посетителей

Это сложно реализовать?

И не навредит ли это индексации?

Изменено пользователем gandhari
Ссылка на комментарий
Поделиться на других сайтах


18 hours ago, gandhari said:

Это сложно реализовать?

И не навредит ли это индексации?

нет, не сложно.

нет, не навредит, поскольку боты не кладут товары в корзинку и не совершают каких-либо иных длительных взаимодействий с сайтом, которые бы были завязаны на данные, хранимые в сессиях.

Однако конкретных и публичных инструкций давать постесняюсь. Если будет желание - напишите в личку.

 

18 hours ago, gandhari said:

каждая пятая сессия - из USA

следует посмотреть accesss-логи веб-сервера и посмотреть по заголовкам, кому принадлежат эти сессии. С большой долей вероятности это может быть какой-то невежливый или даже бесполезный \ зловредный бот. Если так, то следует просто ограничить доступ к сайту для этого робота. Визиты от всяких SemrushBot, AhrefsBot, MJ12bot и прочих подобных как правило никакой ценности не несут и лишь создают нагрузку.

Изменено пользователем 100napb
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

  • 8 месяцев спустя...
В 26.02.2020 в 19:01, Agatha65 сказал:

clean-session-db-oc3.ocmod.xml 743 \u0411 · 371 downloads

Добавте етот модификатор в папка system и обновите модификаторов в админ.

Удаляет все сесии кроме 1 ден.

Не удаляйте и все будет ок.

Agatha как всегда молодец. Этот модуль просто незаменим, да еще и бесплатно. Спасибо.

Ссылка на комментарий
Поделиться на других сайтах


  • 8 месяцев спустя...
26.02.2020 в 18:01, Agatha65 сказал:

clean-session-db-oc3.ocmod.xml 743 \u0411 · 504 скачивания

Добавте етот модификатор в папка system и обновите модификаторов в админ.

Удаляет все сесии кроме 1 ден.

Не удаляйте и все будет ок.

Внимание, после этих действий сразу же идет брутфорс на админку сайта!!!!!!

Ссылка на комментарий
Поделиться на других сайтах


28.08.2022 в 14:12, TirexStoner сказал:

Внимание, после этих действий сразу же идет брутфорс на админку сайта!!!!!!

не врите
 

<?xml version="1.0" encoding="UTF-8"?>
<modification>
	<name>Clean Database Session Table oc3</name>
	<code>clean-session-table</code>
	<version>1.0</version>
	<author>agatha65.com</author>
	
	<!-- https://github.com/opencart/opencart/issues/7094 -->
	<file path="system/library/session/db.php">
		<operation>
			<search><![CDATA[$this->expire = ini_get('session.gc_maxlifetime');]]></search>
			<add position="after"><![CDATA[
		if ($this->db) {
			// remove entries older than gc_maxlifetime seconds + 1 day
			$sql = "DELETE FROM `".DB_PREFIX."session` WHERE expire < DATE_SUB(NOW(), INTERVAL ".((int)$this->expire+86400)." SECOND);";
			$this->db->query( $sql );
		}
			]]></add>
		</operation>
	</file>
</modification>

покажите место атаки

Ссылка на комментарий
Поделиться на других сайтах

28.08.2022 в 15:17, chukcha сказал:

не врите
 

<?xml version="1.0" encoding="UTF-8"?>
<modification>
	<name>Clean Database Session Table oc3</name>
	<code>clean-session-table</code>
	<version>1.0</version>
	<author>agatha65.com</author>
	
	<!-- https://github.com/opencart/opencart/issues/7094 -->
	<file path="system/library/session/db.php">
		<operation>
			<search><![CDATA[$this->expire = ini_get('session.gc_maxlifetime');]]></search>
			<add position="after"><![CDATA[
		if ($this->db) {
			// remove entries older than gc_maxlifetime seconds + 1 day
			$sql = "DELETE FROM `".DB_PREFIX."session` WHERE expire < DATE_SUB(NOW(), INTERVAL ".((int)$this->expire+86400)." SECOND);";
			$this->db->query( $sql );
		}
			]]></add>
		</operation>
	</file>
</modification>

покажите место атаки

Привет из ХА_)

я просто констатирую факт что после заливки файла на хост началась атака брутфорсом, так что сайт лег. Админы хоста подтвердили атаку со множества ip
а уже где там сам код для атаки или передачи данных для атаки я не разбирал!

Ссылка на комментарий
Поделиться на других сайтах


28.08.2022 в 15:42, SergeTkach сказал:

После не значит вследствие...

ну да, конечно, закинул один файл, обновил модификации и тут сайт лег, а после обнаружили попытку взлома!
причина - следствие на лицо!


хм, интересно, если я закину на другой акк того же хоста и начнется брутфорс, вы тоже скажите что это не из за файла???

Ссылка на комментарий
Поделиться на других сайтах


28.08.2022 в 15:34, TirexStoner сказал:

данных для атаки я не разбирал!

я вам показал весь код. Ищите.

 

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.