PHP: запрет повторного голосования (cookie + IP)

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

суть вопроса: есть у мня голосовалка, нада защитить от накруток используя куки.
почитал книжки, суть не понял и че в итоге делал:
голосовать можно раз в сутки,
я создаю переменную с текушшим днем года
$y2k = date('z');
и пихаю в кук
setcookie('music',$y2k,time()+3600*12);
и нада теперь сравнить текущий лень недели и тот что в куке, если различные - чел иогет голосовать. что ни делаю - выкидает ошибки, не понимаю чиво означающие. поясните плз как лучше решить проблему
 
B

Belfisher

Чтобы тебе правильно ответили на вопрос, надо его правильно задать...Какая ошибка хотя бы напиши. И желательно делать меньше орфографических ошибок в вопросе, а то чтобы понять суть, пришлось три раза читать. Извиняюсь за резкость, но когда народ научится :D
 
S

STYX

Также при вставке кода, пжлст, отключай смайлы, а то смотри, что вышло у тебя.
 
B

Belfisher

Вот решение вопроса:
Это надо написать в самом начале файла:
<?php
if (isset($submit)) {
$date=date('z');
setcookie('old_date', $date, time()+3600*12);
}
?>
Тут начало вывода текста в броузер....
<?
if (isset($old_date)) {
print("Вы уже голосовали");
}
else {
?>
<form action="<? $PHP_SELF ?>" method="post">
Здесь сам опрос!!!
<input type="submit" name="submit" value="Голосовать">
</form>
<?
}
?>
Всё очень просто, устанавливается значение $old_date на сутки, потом идёт проверка, если оно установлено, то Вы голосовали, если нет, то выводится форма. По истечении суток после голосования кука удаляется, т.е. можно опять голосовать.

КАжется без ошибок написал... :D
 
A

admin

2 Анципорович

Только по cookie мало. Сделай проверку хотябы ещё по ip адресу. Для большей точности.
 
S

STYX

Кстати, куки можно в браузере отключить (и будут спамить твое голосование). Предлагаю делать проверку на куки, а если не вышло ip.
 
B

Belfisher

Для примитивного голосования этого хватит, больше нечего кому-то делать..спамить обычное голосование, но не суть...будет время, я тебе и с IP напишу, может быть. Ещё раз повторюсь, обычно этого хватает.
 
S

STYX

Belfisher
больше нечего кому-то делать..спамить обычное голосование
Поверь находятся! А зачем же тогда делать защиту против повторного голосования?
 
A

admin

Кстати можно ещё и email подтверждения сделать для полной практически надежности.
 
B

Belfisher

ну это если выборы президента через инет делать :D А так хватит IP+cookie, хотя, если мне захочется обойти эту защиту, то это очень просто делается... :D Товарищ, Анципорович П.П., как там Ваше голосование продвигается?
 
S

STYX

если мне захочется обойти эту защиту
Тебе, не спорю. Но какой-нить фанат мадоны, с выделенным каналом может захотеть проголосовать за нее 200 раз, чтоб поднять ее в рейтинге. Это очень даже реальная ситуация. А скрипт ему выдаст "фиг вам, фанатам".
 
B

Belfisher

Сейчас очень много прог, сменяющих IP(( У меня даж одна такая есть..))
 
A

admin

STYX
Тебе, не спорю. Но какой-нить фанат мадоны, с выделенным каналом может захотеть проголосовать за нее 200 раз, чтоб поднять ее в рейтинге. Это очень даже реальная ситуация. А скрипт ему выдаст "фиг вам, фанатам".
Вот на mtv.ru и сделали подтверждение по email ^)
 
G

Guest

Belfisher
Да спасибо. Скачал с hotscripts скрипт голосования и посмотрел как там реализована защита. Сделал. Всё OK.
 
B

Belfisher

Ну и как там защита реализована?
 
A

admin

Belfisher
Ну и как там защита реализована?
наверное как он и хотел. по кукисам. хотя самое реальное сделать защиту по ip, email, cookie, UserID. Так точно задолбешься накручивать. А самое реальное сделать её платной :D
 
A

admin

Belfisher
Бум ждать господина Анципоровича B) Посмотрим что ответит.
 
G

Guest

С кукисами пашет!!! Всё Ok. Сенкс 2 Belfisher
Супер чувак.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!