Anton.Aivazov
Новичок
Реализация АнтиФлада в голосовании
Всем добрый день!
Встала проблема реализации антифлада для голосования.
Человек может проголосовать 1 раз в день, для этого ему ставлю куку.
(лог об успешности или провале операции идет в базу)
Как лучше идентифицировать человек ли голосует или робот(скрипт) ?
allow_url_fopen я отключил
чужой скрипт сможет подделать нужные заголовки (возможно через сокеты)
Возможность отсутствия поддержки кук у клиента не рассматривается
будет ли эффективна эта схема?
есть ли угрозы 'взлома' через шелл ?
насколько мне известно, чужой скрипт легко может подделать заголовки ДО запуска скрипта..а во время исполнения он не сможет сэмулировать факт получения кук..так ли это?
Еще есть сомнения по поводу IP адресов...некоторые компании обладают одним выходным..поэтому резать юзеров по ипам(ограничиваясь одним голосом от одного в день) неверно..
кто сталкивался, поделитесь как обходили ситуацию
Спасибо!
Всем добрый день!
Встала проблема реализации антифлада для голосования.
Человек может проголосовать 1 раз в день, для этого ему ставлю куку.
(лог об успешности или провале операции идет в базу)
Как лучше идентифицировать человек ли голосует или робот(скрипт) ?
allow_url_fopen я отключил
чужой скрипт сможет подделать нужные заголовки (возможно через сокеты)
Возможность отсутствия поддержки кук у клиента не рассматривается
будет ли эффективна эта схема?
PHP:
if(empty($_COOKIE['vote'])){
$referer=getenv("HTTP_REFERER");
if (ereg("^http://адрес_сайта",$referer) || ereg("^http://www.адрес_сайта",$referer) ) {
setcookie("vote", какое то значение, time()+60*60*24);
## проверка на 'человеческий' фактор
if(!empty($_COOKIE['vote'])){
## голосуем
}
else{
## Ошибка Требуются cookies
}
}
}
насколько мне известно, чужой скрипт легко может подделать заголовки ДО запуска скрипта..а во время исполнения он не сможет сэмулировать факт получения кук..так ли это?
Еще есть сомнения по поводу IP адресов...некоторые компании обладают одним выходным..поэтому резать юзеров по ипам(ограничиваясь одним голосом от одного в день) неверно..
кто сталкивался, поделитесь как обходили ситуацию

Спасибо!