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

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

Вы не зашли.

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

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

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

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

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

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

Ищи по теме create index

Не в сети

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

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

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

vitaly пишет:

Ищи по теме create index

Хорошо, спасибо... wink

Не в сети

#128 2011-10-24 23: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? big_smile

Не в сети

#129 2011-10-24 23: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 23: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, ну как-то так roll

Не в сети

#131 2011-10-25 00:00:00

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

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

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

Не в сети

#132 2011-10-25 00:48:01

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

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

vitaly пишет:

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

Попробую...

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

SHOW INDEX FROM `ng_news`

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

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

Не в сети

#133 2011-10-25 00:56:02

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

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

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

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

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

Не в сети

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

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

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

vitaly пишет:

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

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

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

Не в сети

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

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

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

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

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

Не в сети

#136 2012-01-05 14: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 20: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 20:39:51)

Не в сети

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

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

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

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

Не в сети

Подвал раздела

Работает на FluxBB