Голосование за статьи. Срочно нужна помощь

#1 1 марта 2014 в 11:12
Приветствую всех! Друзья, очень нужна ваша помощь! Помогите сделать возможность голосования за статьи для гостей, т.е. для незарегистрированых пользователей. для всех в общем. Делал как здесь, но если я со своего компа голосую, то другие уже не могут голосовать. Система 1.10.3
#2 1 марта 2014 в 12:18
Прибить все проверки конечно можно, но ведь полный бардак будет, голосовать смогут все и пока рука не устанет… Но если хотите, то:
В файле karma.php закомментируйте строку
  1. if (!$inUser->id) { cmsCore::halt(); }
В файле lib_karma.php в методе cmsSubmitKarma закомментируйте
  1. if(cmsAlreadyKarmed($target, $item_id, $inUser->id)){ return false; }
И в том же файле, в методе cmsKarmaButtonsText строку
  1. if ($inUser->id && !$is_author){
меняете на
  1. if (!$is_author){
а также закомментируйте
  1. if(!cmsAlreadyKarmed($target, $target_id, $inUser->id)){
И закрывающую этот иф скобку
#3 1 марта 2014 в 12:26
Pasha, работает но не так. Голосовать можно до бесконечности. Надо, чтобы голосовать можно было один раз, т.е. нажал и кнопка пропала.
#4 1 марта 2014 в 12:31
PrazdNik, значит, нужно организовать фиксацию голосования по ip. логи смотрели? ip гостей удается получить?
#5 1 марта 2014 в 12:34
Странник, получается, если кто-то из гостей голосует, то другой уже не может.
#6 1 марта 2014 в 12:37
PrazdNik, значит, у гостей один ip? вы $_SERVER['REMOTE_ADDR'] смотрели?
#7 1 марта 2014 в 12:38
Ну так я и говорю — полный бардак. Мы же прибиваем проверку на принадлежность к пользователям у которых в свою очередь есть идентификаторы по котором они собственно и отслеживаются.
Можно конечно добавить проверку на айпишник, но во-первых сделать это совсем не так просто как кажется, а во-вторых это тоже не рещает задачу в полном объеме, так как в таком случае все это будет актуально только для людей с белым адресом… Неправильно поставлена сама задача ИМХО.
#8 1 марта 2014 в 12:39

вы $_SERVER['REMOTE_ADDR'] смотрели?

Странник
тут видите какое дело… я не понимаю о чем Вы говорите) не разбираюсь я в этом)
#9 1 марта 2014 в 12:41
а Ведь УК работает по такому же принципу. ставить оценку может любой пользователь. Это я так… мысли вслух
#10 1 марта 2014 в 12:48

я не понимаю о чем Вы говорите)

PrazdNik
оу… тогда вы не сделаете сами. здесь принцип такой: сервер при получении запроса на скрипт от клиента, помещает в
$_SERVER['REMOTE_ADDR'] айпишник запрашивающего и передает эти данные скрипту.
Если вам неясно, что я сказал, закрывайте эту тему и создавайте другую: "напишите мне скрипт за деньги или за спасибо"… как вам больше подходит. сами вы не справитесь.
#11 1 марта 2014 в 12:59
Не, ну не так все и грустно на самом деле, зачем вы человека пугаете то smileМожно же не прибивать проверку cmsAlreadyKarmed, а просто заменить ее на cmsAlreadyKarmedIP. Тогда вместо идентификатора пользователя будет проверяться его IP. Механизм этот уже существует и ничего изобретать не нужно, просто собраться мыслями и сделать
#12 1 марта 2014 в 13:05
Я не программист, но попробую предложить. Если не сложно добавить ограничение по времени, то думаю это решит вопрос повторного голосования.
#13 1 марта 2014 в 13:09
Для того, чтобы звать cmsAlreadyKarmedIP, надо этому методу айпишник сказать… он у этого метода третьим параметром… а как узнать айпишник, как не из $_SERVER['REMOTE_ADDR']?
Правда, и это не выход, поскольку есть прокси… Но можно попросту тех, кто ломится без айпишника, к голосованию не подпускать, скрывая от них кнопки голосования.
Однако с гостями, которые в тырнет выходят через pppoe другая проблема — у них у всех один айпишник — ip их провайдера…
#14 1 марта 2014 в 13:18
Dost, то есть один проголосовал, а остальные ждут, пока таймер тикает? ведь у ТС именно эта проблема. никто ждать не будет. они разбегутся все.
Проблема то как раз в том, чтобы каждому гостю включить свой таймер… Таймер то сваять не проблема, проблема как отличить гостей друг от друга… а корректного способа решения этой проблемы нет.
#15 1 марта 2014 в 13:36

Правда, и это не выход, поскольку есть прокси… Но можно попросту тех, кто ломится без айпишника, к голосованию не подпускать, скрывая от них кнопки голосования. Однако с гостями, которые в тырнет выходят через pppoe другая проблема — у них у всех один айпишник — ip их провайдера....

Именно об этом я собственно и писал

Можно конечно добавить проверку на айпишник, но во-первых сделать это совсем не так просто как кажется, а во-вторых это тоже не рещает задачу в полном объеме, так как в таком случае все это будет актуально только для людей с белым адресом…

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

Похожие темы

Avipars. Срочно нужен

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

СРОЧНО! Нужен разработчик!

Ищу исполнителя Создана 4 года назад 12 сообщений

[ЗАКРЫТО] База ГЕО с Крымом

Релизы 1.X Создана 4 года назад 11 сообщений

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

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

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