PDA

Просмотр полной версии : Защита от повторного голосования


kuflash
26.01.2008, 20:56
Люди!!! Помогите пожалуйста. недавно начал изучать PHP. Написал простенький скрипт голосования. А как защитить его от накруток не знаю. Помогите пожалуйста!:(
Вот скрипт формы голсования(index.php):

<html>
<form method="get" action="http://localhost/result.php">
<p>
<input name="opros" type="radio" value="0" checked="checked" />
Вариант_1
</p>
<p>
<input name="opros" type="radio" value="1" />Вариант_2
</p>
<p>
<input type="submit" name="go" value="Отправить" />
</p>
</form>
</html>

А это результаты (result.php):

<html>
<?
$file = fopen("var1.txt","r");
$pol_1 = fgets($file,5000);
fclose($file);

$file = fopen("var2.txt","r");
$pol_2 = fgets($file,5000);
fclose($file);

if($opros == 0){
$pol_1++;
$file = fopen("var1.txt","w");
fputs($file,$pol_1);
fclose($file);
}
if($opros == 1){
$pol_2++;
$file = fopen("var2.txt","w");
fputs($file,$pol_2);
fclose($file);
}
echo "<p>$pol_1</p>";
echo "<p>$pol_2</p>";
?>
</html>

kotsie
26.01.2008, 21:32
стопроцентной работоспособности не добьётесь.
Можно по IP смотреть (переменная $_SERVER['REMOTE_ADDR']), можно регистрировать пользователей и один голос на регистрацию, можно просто куки ставить. У всего есть свои плюсы и минусы

etc
27.01.2008, 02:42
kuflash, отредактируйте свой пост и оформите код тегами

flexstudio
27.01.2008, 16:18
Я считаю, что ограничивать по IP не стоит.
Лучше сделайте через cookie.

Используйте:
setcookie(); // для установки куки
$_COOKIE['имя куки']; // для чтения куки

kuflash
27.01.2008, 20:24
Всем пасиба!!:victory: Все вышло!!:yahoo:

etc
27.01.2008, 21:30
kuflash получает плюс за проигнорированное замечание.