Оптимизация таблицы cms_banner_hits 1.X

 
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1052
За пять лет работы сайта, таблица стала занимать более 20 метров базы
Аналитика из нее (IP адреса) не используется нигде, кроме подсчета просмотров, CTR и хитности

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

Итак, задача:
1. Как переделать работу модуля, чтобы не накапливалась таблица с ИПами?
2. Если уж эти ИПы необходимы, как оптимизировать таблицу или перевести заполнение данных в файл, к которому, в случае подсчета, движок будет обращаться (не думаю, что это скажется на безопасности)?

И есть мысль, что эта таблица несколько повторяет таблицу дополнения "Логирование авторизаций", только для всех, а не только зарегистрированных пользователей. Так, может быть, объединить функционал?

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

Очень хочется услышать Володю или Игоря, чтобы они поделились, как задумывалась работа компонента (думаю, что двойка аналогична в этом моменте), если конечно, есть на это время...

В общем, кто что думает по этому поводу?
Комплексный подход к Вашему онлайн-бизнесу: домены, хостинг, сайты.
Продажа качественных доменов.
Посетитель
small user social cms
Медаль
Сообщений: 157
Когда то делал
https://instantcms.ru/forum/thread26700-1.html
Можно удалять статистику по любому баннеру, только поля в таблице нужно руками прописать
У меня до сих пор работает стабильно, будут вопросы, обращайтесь.
Редактировалось: 1 раз (Последний: 22 февраля 2020 в 12:02)
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1052
@chameleon9, хорошее дополнение, обязательно приму к реализации, когда дело дойдет до баннеров.

Кстати, постил как то ТЗ по баннерам, так никто и не подписался сделать...
чтобы баннеры стали кликабельны как реферальские ссылки...
а то под 5к кликов и ни копейки денег, потому что идентификаторы с переходами не передаются, нужна возможность прямых ссылок...
Комплексный подход к Вашему онлайн-бизнесу: домены, хостинг, сайты.
Продажа качественных доменов.
Посетитель
small user social cms
Медаль
Сообщений: 157
Андрей:

Можно сделать, вечером поищу как, давно было не помню.
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1052
я тоже поищу полное ТЗ...
Комплексный подход к Вашему онлайн-бизнесу: домены, хостинг, сайты.
Продажа качественных доменов.
Посетитель
small user social cms
Медаль
Сообщений: 157
в /components/banners/model.php 42 строка
'<a href="/gobanner'.$banner['id'].'
заменить на
'<a href="'.$banner['link'].'
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1052
@chameleon9:

в /components/banners/model.php 42 строка
'

и это позволит передавать реферальский идентификатор?
проверяли?
Редактировалось: 1 раз (Последний: 22 февраля 2020 в 13:23)
Комплексный подход к Вашему онлайн-бизнесу: домены, хостинг, сайты.
Продажа качественных доменов.
Посетитель
small user social cms
Медаль
Сообщений: 157
Андрей:

@chameleon9:

в /components/banners/model.php 42 строка
'

и это позволит передавать реферальский идентификатор?
проверяли?

просто переходит по ссылке которую указали, обычный тэг <a> без редиректов
Редактировалось: 1 раз (Последний: 22 февраля 2020 в 13:25)
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1052
@chameleon9, простите за дотошность, но переход учитывается на сайте, чья реф. ссылка приаттачена к баннеру?
Комплексный подход к Вашему онлайн-бизнесу: домены, хостинг, сайты.
Продажа качественных доменов.
Посетитель
small user social cms
Медаль
Сообщений: 157
Андрей:

@chameleon9, простите за дотошность, но переход учитывается на сайте, чья реф. ссылка приаттачена к баннеру?
ссылку не режет, но переходы в компоненте не считает.
У себя делал через onclick скрипт добавляет клики
Редактировалось: 1 раз (Последний: 22 февраля 2020 в 13:33)
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1052
ну вот надо совместить несовместимое :)))

в настройках баннера тоже было бы полезно чекбокс поставить "Прямая ссылка или редирект"
чтобы каждым баннером была возможность управлять... не все же рефовские....
Комплексный подход к Вашему онлайн-бизнесу: домены, хостинг, сайты.
Продажа качественных доменов.
Посетитель
small user social cms
Медаль
Сообщений: 157
в /components/banners/model.php 42 строка
'<a href="/gobanner'.$banner['id'].'
заменить на
<a href="'.$banner['link'].'" onclick="javascript:setrate('.$banner['id'].')"

/core/js/common.js в конце
function setrate(a){$.ajax({type:"POST",url:"/components/banners/click.php",data:"id="+a})};

в /components/banners создать файл click.php
Спойлер
Редактировалось: 2 раз (Последний: 22 февраля 2020 в 14:34)
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4575
@chameleon9:
$id = $_POST['id'];

Сколько уже в сборке таким образом уязвимостей?

Андрей:
таблица стала занимать более 20 метров базы
Это крайне мало.
Андрей:
Если уж эти ИПы необходимы, как оптимизировать таблицу или перевести заполнение данных в файл, к которому, в случае подсчета, движок будет обращаться (не думаю, что это скажется на безопасности)?
Так делать не надо.
Редактировалось: 1 раз (Последний: 22 февраля 2020 в 14:19)
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Медаль
Сообщений: 157
Fuze:

@chameleon9:
$id = $_POST['id'];
Сколько уже в сборке таким образом уязвимостей?
Подскажите, чем это может грозить? Передает только id баннера
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4575
@chameleon9:
Подскажите, чем это может грозить?
SQL уязвимость в чистом виде. В $_POST['id'] можно передать что угодно.

Код PHP:
  1. $id = cmsCore::request('id', 'int', 0);
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.