Аналитика из нее (IP адреса) не используется нигде, кроме подсчета просмотров, CTR и хитности
Для этого существуют алгоритмы, накапливающие статистику, но использующие математику для работы с параметрами.
А аналитику можно без проблем получить, установив коды гугла или яши, не изобретая велосипед.
Итак, задача:
1. Как переделать работу модуля, чтобы не накапливалась таблица с ИПами?
2. Если уж эти ИПы необходимы, как оптимизировать таблицу или перевести заполнение данных в файл, к которому, в случае подсчета, движок будет обращаться (не думаю, что это скажется на безопасности)?
И есть мысль, что эта таблица несколько повторяет таблицу дополнения "Логирование авторизаций", только для всех, а не только зарегистрированных пользователей. Так, может быть, объединить функционал?
По первому варианту расчетов, но не сохранения ИПов, возможно сотворить таблицу, в которой для каждого баннера будет учитываться
— количество показов
— количество кликов
и на их основе высчитывать хиты, выхлоп и прочее, а не собирать малонужную статистику.
Очень хочется услышать Володю или Игоря, чтобы они поделились, как задумывалась работа компонента (думаю, что двойка аналогична в этом моменте), если конечно, есть на это время...
В общем, кто что думает по этому поводу?
/forum/thread26700-1.html
Можно удалять статистику по любому баннеру, только поля в таблице нужно руками прописать
У меня до сих пор работает стабильно, будут вопросы, обращайтесь.
Кстати, постил как то ТЗ по баннерам, так никто и не подписался сделать...
чтобы баннеры стали кликабельны как реферальские ссылки...
а то под 5к кликов и ни копейки денег, потому что идентификаторы с переходами не передаются, нужна возможность прямых ссылок…
Можно сделать, вечером поищу как, давно было не помню.
'<a href="/gobanner'.$banner['id'].'
заменить на
'<a href="'.$banner['link'].'
в /components/banners/model.php 42 строка
'
и это позволит передавать реферальский идентификатор?
проверяли?
в /components/banners/model.php 42 строка
'
и это позволит передавать реферальский идентификатор?
проверяли?
просто переходит по ссылке которую указали, обычный тэг <a> без редиректов
ссылку не режет, но переходы в компоненте не считает.
@chameleon9, простите за дотошность, но переход учитывается на сайте, чья реф. ссылка приаттачена к баннеру?
У себя делал через onclick скрипт добавляет клики
в настройках баннера тоже было бы полезно чекбокс поставить "Прямая ссылка или редирект"
чтобы каждым баннером была возможность управлять… не все же рефовские…
'<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
<?php include PATH.'/core/classes/db.class.php'; include PATH.'/core/cms.php'; include PATH.'/includes/config.inc.php'; $inCore = cmsCore::getInstance(); $inDB = cmsDatabase::getInstance(); $id = cmsCore::request('id', 'int', 0); $inDB->query("UPDATE cms_banners SET clicks = clicks + 1 WHERE id = '$id'"); ?>
$id = $_POST['id'];
Сколько уже в сборке таким образом уязвимостей?
Это крайне мало.таблица стала занимать более 20 метров базы
Так делать не надо.Если уж эти ИПы необходимы, как оптимизировать таблицу или перевести заполнение данных в файл, к которому, в случае подсчета, движок будет обращаться (не думаю, что это скажется на безопасности)?
Подскажите, чем это может грозить? Передает только id баннера
Сколько уже в сборке таким образом уязвимостей?$id = $_POST['id'];
SQL уязвимость в чистом виде. В $_POST['id'] можно передать что угодно.Подскажите, чем это может грозить?
$id = cmsCore::request('id', 'int', 0);