[PHP] Идентифициране на посетителите без регистрация

ventus

New Member
Здравейте. В момента работя в/у 1 проект и имам нужда от помощ. Става въпрос за бинарно гласуване т.е. с '+' или '-', 'да' или 'не' и т.н. И за това трябва да идентифицирам посетителя, който е гласувал, че да не може да се гласува от 1 човек 5-10-15-.. пъти за дадена новина. Най-простото, за което се сещам е да запиша бисквите от сорта на <IP> + md5(<IP> + salt) и когато посетителя цъкне примерно на '+'чето с ajax и php да проверя дали е гласувал и преди за новината и ако не, съответно да запиша гласа. Бих искал да чуя мненията и на опитните php-исти.
 
Последно редактирано:
От:
PHP:
 Идентифициране на посетителите без регистрация[/b]

geoplugin.com/webservices/php нещо от тоя род ?
 
От:
PHP:
 Идентифициране на посетителите без регистрация[/b]

Всичко зависи от това колко важно е да няма дублирани гласове. Ако е много важно, изисквай регистрация с потвърждаване на email и.т.н. Ако не искаш регистрация, използвай някакво SuperCookie. 

В случай че не е много важно, твоят подход е добър. Моят съвет е започни с най-лесният вариант и при нужда усложнявай.
 
От:
PHP:
 Идентифициране на посетителите без регистрация[/b]

Рейтингът на новината не е от голямо значение. По-важното е ламер(чета) да не увеличат драстично отклонението от средните стойности на гласовете, чрез нон-стоп цъкане на +/-.
 
От:
PHP:
 Идентифициране на посетителите без регистрация[/b]

Ако не си го направил още, може да генерираш уникален key за всеки посетител [URL="http://bg.php.net/uniqid"]uniqid()[/URL] примерно и да го записваш в cookie или сесия, че това с IP-то не е много сигурно все още има потребители с динамични IP адреси, а и някой ако е решил да си вдигне гласовете не му пречи да ползва прокси.

Примерно:

[CODE]md5(uniqid().$salt);[/CODE]
 
От:
PHP:
 Идентифициране на посетителите без регистрация[/b]

Взимай IP, браузър, резолюзия, записвай някакво куки което да проверяваш след това, .... но така или иначе и през това се минава. Наистина си е най-сигурно с регистрация.
 

Горе