Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как сделать защиту от повторного голосования!


Автор: Николай 14.6.2004, 06:45
Написал скрипт для гоглосования. Нужно, чтобы пользователь не мог голосовать дважды, т.е. защиту от повторного голосования.

Автор: -=::BlackCat::=- 14.6.2004, 07:12
Куки и в PHP и через JS

Автор: Chuck 14.6.2004, 12:02
Устанавливаешь куку после голосования!!!
И всегда проверяешь, если стоит, то голосовать нельзя, нет - голосуй!!! Хочешь дам пример?

Автор: Николай 14.6.2004, 20:20
Давай! Я ещё хотел спросить, а каждого компа IP свой или могут быть одинакрвые у двух, а тоя тут подумал, что $REMOTE_ADDR решает все проблемы!

Автор: Chuck 14.6.2004, 21:46
Цитата
каждого компа IP свой или могут быть одинакрвые у двух, а то я тут подумал, что $REMOTE_ADDR решает все проблемы!

Свой-то он свой, но !!!
Когда вы переподключаетесь, при срыве, IP меняется, динамический!!!
вот небольшой примерчик
Код

<?
$was = $HTTP_COOKIE_VARS["voice"];// узнаем переменную куки!!!
if (isset($voice_done) == false) {$voice_done = false;} // проверям существование переменной воис_дон
if ($voice_done == true)  {setcookie("voice,"1");}//если проголосовали, то ставим флаг
if ($was != 1)
     {
      echo "Вы голосовали!!!";
      }
else
{
// само голосование
// вывод выбора, т.е вопрос, и ответы!!!
//методом пост, отсылаете на этот же скрипт, но добавляете переменную $voice_done = true;
//<input type=hidden name=voice_done value=true>
}

Примерно, так, если что, пишите, спрашивайте, отвечу!!!

Автор: -=::BlackCat::=- 14.6.2004, 21:55
а прикинь два чела в сетке в большой седят с одним шлюзом sad.gif

Автор: Chuck 14.6.2004, 22:10
Цитата
а прикинь два чела в сетке в большой седят с одним шлюзом

Что то я тебя не понял??
Поясни.....

Автор: -=::BlackCat::=- 14.6.2004, 22:49
Ну чо здесь сложного, несколько компов, ИП один

Автор: IZ@TOP 14.6.2004, 23:02
Цитата
Ну чо здесь сложного, несколько компов, ИП один

Например я так сижу, у нас диапозон подсети от ххх.ххх.ххх.2 по ххх.ххх.ххх.254 выходит с одного IP в инте.

Автор: Chuck 15.6.2004, 10:16
Цитата
Ну чо здесь сложного, несколько компов, ИП один

Про IP никто речь и не ведёт!!!
Я же сказал, что тут целесообразно юзать куки, и только!!!
Причем тут разговор про IP???

Автор: Akina 15.6.2004, 10:38
Chuck
Куки юзер имеет полное право отключить. Или почистить biggrin.gif

Задача в общем случае нерешаема. А пути приближения к решению больше зависят от того о чем голосуем. Если голосование типа рейтинговое для внутреннего употребления - хватит простых методов типа контроля уникальности IP и кукишей. Возможно также использование сессии с коротким временем жизни и контролем референсов. Однако в серьезном голосовании без предварительной регистрации не обойтись.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)