Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2007, 15:43   #1
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию Защита от накрутки голосование

Я написал голосование на php.
Как можно защитить голосование от накрутки??
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 23.12.2007, 16:12   #2
Johnny
 
Регистрация: 06.06.2007
Сообщений: 8
По умолчанию

записывай и проверяй на совпадение IP голосующих
Не задавай вопросов и тебе не соврут!!!
Johnny вне форума Ответить с цитированием
Старый 23.12.2007, 20:21   #3
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

Когда кто-то голосует я проверяю наличе его IP в файле ban.txt если нету его там то он голосует и
записывается в ban.txt его Ip
У меня что-то не получается!
вот мой код

PHP код:
$flag=false;
$ban=file('ban.txt');        
$ip=$_SERVER['REMOTE_ADDR'];
for(
$i=0;$i<count($ban);$i++){ if ($ban[$i]==$ip)  $flag=true}  /проверка на наличе ip в файле
if ($flag==false){                                 //голосование
$sss=file("votion.dat");
$f=fopen("votion.dat","w");
for (
$i=0$i<count($sss); $i++) $sss[$i]=str_replace(chr(13).chr(10),"",$sss[$i]);
$sss[$sss[0]+$a+2]+=1;
for(
$i=0;$i<count($sss);$i++) $sss[$i].=Chr(13).chr(10);
for(
$i=0;$i<count($sss);$i++) fputs($f,$sss[$i]);
fclose($f);                                                //запись в файл IP
$ip=$_SERVER['REMOTE_ADDR'].chr(13);
$f=fopen("ban.txt","a");
fputs($f$ip);
fclose($f);

Проблемы возникают с проврекой наличия ip в файле!
Помогите!!
ICQ-465033557
WINDOWS CE THE BEST

Последний раз редактировалось vitalik007; 23.12.2007 в 20:27.
vitalik007 вне форума Ответить с цитированием
Старый 23.12.2007, 21:09   #4
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Используй базу данных и лишишь себя гемороя. Если же хостинг дает организация типа Ucoz-а - то срочно меняй хостера.
Я делаю так: после голосования устанавливаю куки у человека и сохраняю его айпишник в БД, после очередного захода на страничку - у него даже кнопка "голосовать" и варианты ответов не появляются - лишь ответы.
Но если человек имеет динамический айпи и чистит куки - тогда не выйдет, ведь универсальной защиты от дурака еще не придумали.
SkyM@n вне форума Ответить с цитированием
Старый 23.12.2007, 21:14   #5
Johnny
 
Регистрация: 06.06.2007
Сообщений: 8
По умолчанию

Пиши правильно, после true нужно ; поставить было
PHP код:
for ($i=0$i<count($ban); $i++) { 
  if (
$ban[$i]==$ip)  $flag=true;

Не задавай вопросов и тебе не соврут!!!
Johnny вне форума Ответить с цитированием
Старый 23.12.2007, 21:54   #6
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

to SkyM@n
У меня платный хостинг.
А с базами данных я полный 000
не умею не на delphi не на php!!
Игде можнопрочитать про использование баз данных??
to Jonny
ты мне лучше скажи что у меня в коде неправильного
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 23.12.2007, 22:18   #7
Johnny
 
Регистрация: 06.06.2007
Сообщений: 8
По умолчанию

vitalik007,
вместо
$ip=$_SERVER['REMOTE_ADDR'].chr(13);
нужно
$ip= "\n" . $_SERVER['REMOTE_ADDR'];
Не задавай вопросов и тебе не соврут!!!
Johnny вне форума Ответить с цитированием
Старый 23.12.2007, 22:29   #8
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,159
По умолчанию

Цитата:
Сообщение от SkyM@n Посмотреть сообщение
Но если человек имеет динамический айпи и чистит куки - тогда не выйдет, ведь универсальной защиты от дурака еще не придумали.
...как вариант, если на сайте есть регистрация юзеров - записывать имя или ид юзера - тогда голосуют тока юзеры и тока один раз... прада не исключена дополн регистрация тогда...

Последний раз редактировалось ADSoft; 23.12.2007 в 22:32.
ADSoft вне форума Ответить с цитированием
Старый 23.12.2007, 22:32   #9
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

Не работает!!
Все равно голосую скоко хочу!!
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 23.12.2007, 22:34   #10
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

вот мои иходники
Вложения
Тип файла: rar v1.3.rar (2.9 Кб, 24 просмотров)
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа для накрутки еун в игре GanjaWars халк JavaScript, Ajax 11 29.11.2009 00:42
Защита boostman Общие вопросы Delphi 4 21.06.2008 17:45
Голосование - финал 2 конкурса zetrix Свободное общение 17 18.12.2007 07:56
Вспомогательное голосование! zetrix Свободное общение 4 26.11.2007 08:51
Голосование Второй тур! zetrix Свободное общение 7 24.11.2007 08:40