Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sposób na głosowanie
Forum PHP.pl > Forum > PHP
Toom
witam,
Zrobiłem właśnie moduł głosowania przez internet (bez potrzeby logowania).
Zabezpieczenie wielokrotnego gł. zrealizowałem tak:
Kod
$ip = $_SERVER["REMOTE_ADDR"];
  $przegladarka = $_SERVER["HTTP_USER_AGENT"];
  $znacznik = sprintf("%u", crc32($ip.$przegladarka));

$znacznik ma zawierać dane o przeglądarce i IP użytkownika, niestety da się to obejść (neostrada i modemy mają dyn IP, są podobno też na obejście jakieś inne sposoby... nie wiem jakie?).
Cookies nie stosowałem (wg mnie łatwo się go pozbyć z przeglądarki i oszukiwać)

Czy jest jakiś lepszy sposób? Jak to jest realizowane w profesjonalnych serwisach?
Proszę o pomoc.

Pozdrawiam,
Toom
angel2953
Cytat(Toom @ 2006-04-24 09:51:22)
są podobno też na obejście jakieś inne sposoby... nie wiem jakie?

Choćby proxy...

W sumie większośc jest robiona na plikach cookie i wpis do bazy danych IP i USER_AGENT... Więc idealnego rozwiązania nie ma, bo wszystko da się obejść...
devnul
Cytat
są podobno też na obejście jakieś inne sposoby... nie wiem jakie?
Wystarczy przełączyc sie na inną przeglądarkę.
Toom
o przeglądarce wiem (można nabić powiedzmy 3-5 głosów. Ale wiem z pewnych źródeł, że ludzie nabijają po 100 i więcej (nie podejżewam żeby byli wielkimi znawcami sieci) - moze chodzi o specyfikę dostawcy internetu (neostrada, modem itp.). U mnie np. w zwykłej sieci osiedlowej z dynamicznym IP nie mogę głosować z tej samej przeglądarki kilka razy.

Angel, możesz wyjaśnić Proxy?
Vogel
i czyść ciastka ;]
devnul
W sieci dostępnych jest pełno "anonimizerów", które skótecznie umozliwiają "ukrycie się" za pomoca dynamicznej zmiany serwerów proxy, może się to odbywac automatycznie co określony czas, dzięki czemu mozna cześciej głosowac.

Ogólnie zasada działania serwera proxy jest taka ze pośredniczy w pobieraniu i wysyłaniu danych do sieci, dzięki czemu komputer korzystający z serwera proxy jest widzioany pod innym adresem ip

najlepszym wyjsciem jest połączenie kilku metod (detekcja przeglądarki, adresu ip, cookies itp)
Toom
połączyłem metody smile.gif
Kod
$ip = $_SERVER["REMOTE_ADDR"];
$przegladarka = $_SERVER["HTTP_USER_AGENT"];
$znacznik = sprintf("%u", crc32($ip.$przegladarka));

+
Kod
setcookie("g".$id,1, time()+3600*24*360);
jest lepiej, ale gdy ktoś przez neostradę rozłączy i połączy się (przydzielane jest mu chyba inne ip) oraz gdy usunie cookie, może dalej głosować.

Jest jakiś lepszy sposób (nie logowanie i nie potwierdzanie mailem)questionmark.gif
Czy można uniemożliwić głosowanie osobom, które nie mają ustawionych ciasteczek... jak?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.