Русский English Deutsch Українська Қазақша

Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не вошли.

#126 2011-10-24 17:27:13

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Защита от накруток в плагине rating, запись IP-адреса юзера в БД

ikv777vlg пишет:
vitaly пишет:

Читай документацию, она у mySQL'я отличная.

OK, поизучаю...

Ищи по теме create index

Вне форума

#127 2011-10-24 17:30:14

ikv777vlg
Участник
Откуда: Волгоград
Здесь с 2011-10-10
Сообщений: 137
Рейтинг :   

Re: Защита от накруток в плагине rating, запись IP-адреса юзера в БД

vitaly пишет:

Ищи по теме create index

Хорошо, спасибо... ;)

Вне форума

#128 2011-10-24 22:18:03

ikv777vlg
Участник
Откуда: Волгоград
Здесь с 2011-10-10
Сообщений: 137
Рейтинг :   

Re: Защита от накруток в плагине rating, запись IP-адреса юзера в БД

Мутная какая-то документация, непонятная... sad

Короче, ближе к телу smile
Получается, при установке надо делать так:

CREATE TABLE `XPREFIX_news` (
  `id` int(11) NOT NULL auto_increment,
-- ...........тут еще что-то..................
  `rating` int(10) NOT NULL default '0',
  `votes` int(10) NOT NULL default '0',
  `totalrating` int(10) NOT NULL default '0',
  PRIMARY KEY  (`id`),
-- ...........тут еще что-то..................
  KEY `news_totalrating` (`totalrating`)
) ENGINE=MyISAM;

и всё, можно сортировать по totalrating? :D

Вне форума

#129 2011-10-24 22:24:18

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Защита от накруток в плагине rating, запись IP-адреса юзера в БД

ALTER TABLE `news` ADD INDEX `news_totalrating` ( `totalrating` )

Проверить использует ли MySQL индекс или нет, можно через explain

Вне форума

#130 2011-10-24 22:42:55

ikv777vlg
Участник
Откуда: Волгоград
Здесь с 2011-10-10
Сообщений: 137
Рейтинг :   

Re: Защита от накруток в плагине rating, запись IP-адреса юзера в БД

Wolverine пишет:
ALTER TABLE `news` ADD INDEX `news_totalrating` ( `totalrating` )

Проверить использует ли MySQL индекс или нет, можно через explain

Понятно. Но:

Оператор ALTER TABLE обеспечивает возможность изменять структуру существующей таблицы. Например, можно добавлять или удалять столбцы, создавать или уничтожать индексы или переименовывать столбцы либо саму таблицу. Можно также изменять комментарий для таблицы и ее тип.

А при установке CMS(т.е. при создании таблицы) мой вариант не будет работать?
В одном из мануалов, я читал что KEY является синонимом для INDEX, ну как-то так :rolleyes:

Вне форума

#131 2011-10-24 23:00:00

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Защита от накруток в плагине rating, запись IP-адреса юзера в БД

ikv777vlg, твой вариант по идее работать должен, но проверить не помешает :)

Вне форума

#132 2011-10-24 23:48:01

ikv777vlg
Участник
Откуда: Волгоград
Здесь с 2011-10-10
Сообщений: 137
Рейтинг :   

Re: Защита от накруток в плагине rating, запись IP-адреса юзера в БД

vitaly пишет:

ikv777vlg, твой вариант по идее работать должен, но проверить не помешает :)

Попробую...

А если сделать такой SQL-запрос в phpmyadmin:

SHOW INDEX FROM `ng_news`

Это и есть список всех индексов таблицы? smile

Кстати, после создания индекса, дополнительно ничего с ним делать не нужно? Можно сразу сортировать по полю totalrating, или как? :)

Вне форума

#133 2011-10-24 23:56:02

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Защита от накруток в плагине rating, запись IP-адреса юзера в БД

ikv777vlg пишет:
SHOW INDEX FROM `ng_news`

Это и есть список всех индексов таблицы? smile
Кстати, после создания индекса, дополнительно ничего с ним делать не нужно? Можно сразу сортировать по полю totalrating, или как? :)

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

Вне форума

#134 2011-10-25 00:04:23

ikv777vlg
Участник
Откуда: Волгоград
Здесь с 2011-10-10
Сообщений: 137
Рейтинг :   

Re: Защита от накруток в плагине rating, запись IP-адреса юзера в БД

vitaly пишет:

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

Во, отлично, спасибо!

Теперь придется всё переделывать smile
Кстати, поле totalrating должно хранить дробное число, чтобы сортировать правильно, надо мне это не забыть...

Вне форума

#135 2011-10-26 07:17:48

ikv777vlg
Участник
Откуда: Волгоград
Здесь с 2011-10-10
Сообщений: 137
Рейтинг :   

Re: Защита от накруток в плагине rating, запись IP-адреса юзера в БД

UPD.
Вторая сборка с учетом всех ошибок. Индекс есть, всё сортируется, и вроде всё работает как надо.
Ну что еще не так?! smile
Скачать 0.9.3 RC1 [SVN856] with Rating (Сборка 2).7z (ссылка действительна 90 дней, если шо smile)

Кстати, предыдущий архив так никто даже и не скачал, я один тестирую :(

Вне форума

#136 2012-01-05 13:34:42

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Защита от накруток в плагине rating, запись IP-адреса юзера в БД

http://trac.assembla.com/ngcms/changeset/919

+ Для плагинов-новостных фильтров добавлен обработчик onBeforeShowlist(), который вызывается после выполнения SQL запроса, но до запуска основного цикла по показу новостей. Обработчик может использоваться для подгрузки необходимых данных единым SQL запросом вместо генерации пачки запросов по каждой новости.

Вне форума

#137 2012-06-02 19:39:13

Klim
Участник
Здесь с 2011-10-08
Сообщений: 123
Рейтинг :   

Re: Защита от накруток в плагине rating, запись IP-адреса юзера в БД

При установке настройки плагина: "IP, UserID и Cookies" получается так, что из незарегистрированных пользователей проголосовать может только первый, последующие пользователи голосовать не могут. Причина, видимо в том, что при настройке "IP, UserID и Cookies" (хотя написано: "с одного IP-адреса и/или User ID пользователь может проголосовать...") идет проверка голосовавших по графе "user_id" (таблицы ng_rating), в которой все незарегистрированные пользователи имеют одно значение "0", таким образом проверку user_id для незарегистрированных пользователей надо отключить или сделать отдельную опцию в настройках плагина.

Денвер, сборка из поста #135

Отредактировано Klim (2012-06-02 19:39:51)

Вне форума

#138 2012-06-03 12:35:06

Klim
Участник
Здесь с 2011-10-08
Сообщений: 123
Рейтинг :   

Re: Защита от накруток в плагине rating, запись IP-адреса юзера в БД

Еще один момент:
При установке настройки плагина: "IP, UserID и Cookies" незарегистрированный пользователь может одновременно проголосовать несколько раз за одну новость с одного IP если:
1. откроет новость в нескольких разных браузерах и затем поочередно проголосует;
2. откроет в одном браузере несколько страниц с одной новостью, поочередно (не обновляя страницы) делая голосование и сброс куков.

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.018 сек, 7 запросов выполнено - Использовано памяти: 579.66 Кбайт (Пик: 600.66 Кбайт) ]