Всего 123 789 комментариев

Наумов Алексей
26 февраля 2024, 19:18
0
Ну а сигнатуры то ботов нужных прописаны в настройках (smartsessions_bot_signatures)?
Это довольно индивидуальный параметр для каждого сайта. Если не очищается совсем — то gc не работает в php, с ним нужно копать, вот чтиво десятилетней давности: bezumkin.ru/sections/tips_and_tricks/2422
Wassi Wassinen
26 февраля 2024, 18:23
0
Алексей, а что делать, если таблица не очищается от сессий ботов? Хотя для ботов стоит время 10800.
Wassi Wassinen
26 февраля 2024, 18:23
0
Да, полностью согласен с этим. Компонент нужный. Вы молодец :))
Наумов Алексей
26 февраля 2024, 17:28
0
Я вообще зачем дополнение сделал:
У моего сайта была посещаемость 300 человек в сутки. В неделю это 7*300=2100 человек. Сессии как раз неделю и хранились. Вот только в таблице сессий было не 2000 записей, как было бы ожидаемо, а около 100-200 тысяч. Когда я начал изучать вопрос — боты, одни боты! яндекс, гугл, просто wget какие-то, индексаторы картинок, парсеры… чего только не было) и что забавное — почти всегда каждый запрос генерил новую сессию, боты не держали её)) а итоге приходит яндекс бот на сайт, индексирует сайт, 3000 страниц — о-ппа и +3000 сессий. А кому они нужны?)
Наумов Алексей
26 февраля 2024, 17:23
0
Поле access есть: см. исходники.

… таблица начинает расти в прогрессии, если есть много контекстов
В этом дополнении нет ничего нового, связанного с контекстами, по сравнению со стандартным sessionhandler. Основная цель дополнения — расширить таблицу сессий, чтобы в ней хранился user-agent. И если user-agent принадлежит боту — чистить такие сессии раньше, не хранить их долго.

И нужно исключить возможность вот такой ошибки :)
Эта ошибка возникла из-за того, что оказался поврежден файл с таблицей БД. Причина, по которой произошла данная ситуация, вероятно, связана с каким-то сбоем на сервере. К примеру, у меня раньше часто из-за нехватки памяти падал процесс mysql, и эти падения иногда заканчивались повреждением отдельных таблиц БД, весьма часто таблицы с сессией (потому что эта таблица каждый раз при открытии любой страницы сайта обновляется), но иногда и таблиц вроде site_content. Увеличение объема памяти решило в моем случае проблему с падающим mysql и повреждением таблиц.
Wassi Wassinen
26 февраля 2024, 16:12
0
И ещё вопрос: как дополнение понимает когда чистить таблицу — нет поля для хранения даты создания сессии. Или я как-то неправильно понял механизм работы?
Wassi Wassinen
26 февраля 2024, 15:47
0
Как я понимаю, таблица начинает расти в прогрессии, если есть много контекстов. Так как данные пишет для каждого контекста, дублируя их. Интересно, это можно как-то оптимизировать?
Артур Шевченко
26 февраля 2024, 15:22
0
{set $menu = 'mySnippet' | snippet}
{foreach $menu as $parent => $products}
    <p>{$parent}</p>
    <ul>
    {foreach $products as $data}
        <li>{$data.name} - {$data.price}</li>
    {/foreach}
    </ul>
{/foreach}
Артур Шевченко
26 февраля 2024, 15:15
0
Покажи вызов сниппета и чанк с этим ТВ
Артур Шевченко
26 февраля 2024, 15:14
0
У тебя капча на всех страницах или на одной?
Wassi Wassinen
26 февраля 2024, 14:27
0
И нужно исключить возможность вот такой ошибки :)

Дмитрий
26 февраля 2024, 12:44
0
Спасибо за сниппет. Не могли бы вы пояснить как вывести то, что мне нужно? У меня не получается вывести.
ЦНТБ
26 февраля 2024, 10:48
0
Имеешь ввиду само изображение? То точно нет
Павел Голубев
26 февраля 2024, 10:47
+1
По cron поставить очистку таблицы
Артур Шевченко
26 февраля 2024, 09:05
0
Возможно дело в источнике файлов, который не подставляется при выводе.
weranda
26 февраля 2024, 09:03
0
А как и откуда его получить, чтобы этот код корректно завелся?
Иван Бочкарев
26 февраля 2024, 06:41
0
Поправил пост
Андрей
25 февраля 2024, 21:37
+1
Для каких целей это нужно? 3й шопкипер выпущен 7 лет назад, давно не поддерживается и имеет достаточно много проблем. Если уже и переносить, то в минишоп =)