Нереальные итоги опросов

#16 5 апреля 2012 в 11:31
• Mike •, т.е. если обычный опрос (модуль голосования) спрятать от незарегистрированных, накрутки не будет?
#17 5 апреля 2012 в 11:33
Только что проверил. Доступ к модулю голосование открыт для всех, кроме гостей… и все равно результаты накрученые.
#18 23 июля 2012 в 12:58
А ведь тут

  1. if ($do=='vote'){
  2.  
  3. $answer = $inCore->request('answer', 'str', '');
  4. $poll_id = $inCore->request('poll_id', 'int', 0);
  5.  
  6. if (!$answer || !$poll_id) { $inCore->redirect($back); }
  7.  
  8. $answer = str_replace('"', '"', $answer);
  9.  
  10. $sql = "SELECT * FROM cms_polls WHERE id = $poll_id";
  11. $result = $inDB->query($sql);
  12.  
  13. if ($inDB->num_rows($result)){
  14. $poll = $inDB->fetch_assoc($result);
  15. $answers = unserialize($poll['answers']);
  16.  
  17. //Прибавляем голос к переданному нам варианту ответа
  18. foreach($answers as $key=>$value){
  19. if ($key == $answer){
  20. $answers[$key] += 1;
  21. }
  22. }
  23.  
  24. //Сохраняем результаты опроса
  25. $sql = "UPDATE cms_polls SET answers = '".serialize($answers)."' WHERE id = $poll_id";
  26. $inDB->query($sql);
  27.  
  28. //MARK USER VOTING
  29. $user_id = $inUser->id;
  30. $ip = $inUser->ip;
  31.  
  32. $sql = "INSERT cms_polls_log (poll_id, answer_id, user_id, ip)
  33. VALUES ('$poll_id', '$answer', '$user_id', '$ip')";
  34. $inDB->query($sql);
  35.  
  36. $_SESSION['poll_voted'] = $poll_id;
  37. }
  38.  
  39. $inCore->redirect($back);
  40.  
  41. }
нет проверки того, голосовал юзер или нет. Помогите добавить...
з.ы. файл components/polls/frontend.php
#19 23 июля 2012 в 14:17
читал вашу тему как детектив!!!
Очень хотел бы узнать как-таки от юзера, который последний раз авторизовывался полгода назад, поступило 500 голосов?

Смущают даты Ваших последних собщений:
#16 — 5 апреля 2012 в 11:31
#17 — 5 апреля 2012 в 11:33
#18 — Сегодня в 12:58

три с лишним месяца бьётесь с этой бедой???
#20 23 июля 2012 в 14:54
Ленивый, нет. создал тикет в багтрекере и жду решения. Сам не программист, когда то начал изучать и бросил… А сейчас вплотную занялся качественным развитием сайта (сам часто кликаю по всяким голосовалкам) и решил вернуть опросы на сайт. Три месяца жили без них.

По последнему вопросу поможете? Нашел в файле modules/polls/module.php там есть проверка на голосвал/не голосовал… Только как вытащить оттуда и втащить сюда я не знаю...

А проблема есть: чистая 1.9… Любой опрос — кликаем 100 раз по кнопке голосовать и портим всю статистику.
#21 23 июля 2012 в 16:11
да я в общем-то и готов помочь, только не пойму как это у Вас получается.
Сделал сейчас себе голосовалку на сайте, на чистой 1.9
Если юзером не голосовал — вижу сам опрос. Если проголосовал — вижу текущий результат голосования.
Нет возможности второй раз юзером тыкнуть!
#22 23 июля 2012 в 16:15
Стоп. Эта проблема только на форуме? ван момент плис...

В форуме точно также! Второй раз юзер голосовать не может
#23 24 июля 2012 в 12:20
Ленивый, вы не ждите, пока прогрузится страничка. Кликайте по кнопке "отправить" на странице с опросом много раз, не давая прогрузится странице с результатами. И все клики зачтутся, так как проверки при записи в базу нет.
Если у вас инет 70 мегабит и ссд диск может не получиться)
#24 24 июля 2012 в 14:40
Евгений, поправим в 1.9.1, следите за траком. Сейчас фултайм 1.9.1.
#25 24 июля 2012 в 16:33
Так вроде уже есть решение ?!..
#26 24 июля 2012 в 16:45

А проблема есть: чистая 1.9… Любой опрос — кликаем 100 раз по кнопке голосовать и портим всю статистику.

Евгений

Вот Решение !
#27 9 сентября 2012 в 19:27
Жду…
#28 3 октября 2012 в 13:56
в 1.10 поправили?
Бранч скачал, смотрю, все на аяксе. Там проверка добавлена? Нельзя пост запрос отправить 100 раз одному человеку?
#29 3 октября 2012 в 14:40
да там идет валидация через плагин Jquery.form практически везде…
#30 3 октября 2012 в 14:48
• Mike •, ну вот и славно.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.

Похожие темы

Компонент опросы

Компоненты Создана 3 года назад 6 сообщений

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.