Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zabezpieczenia zliczania głosow
Forum PHP.pl > Forum > PHP
Gigante
Witam

Co byscie jeszcze dodali/poprawili/usuneli do zabezpieczenia przed ponownym oddawaniem glosow przez tą sama osobe np w sondach lub toplistach?
  1. <?php
  2. gethostbyaddr($_SERVER[REMOTE_ADDR]);  // pobieranie nazwy HOSTa klikacza
  3. $_SERVER['REMOTE_ADDR']; // IP klikacza
  4. $_SERVER['HTTP_USER_AGENT']; // dane o systemie i przegladarce klikacza
  5. + ciasteczko na jego komputerze
  6. ?>
bełdzio
hmm najlepiej zrobić rejestracje userow smile.gif
Gigante
Cytat(bełdzio @ 11.11.2008, 14:35:43 ) *
hmm najlepiej zrobić rejestracje userow smile.gif

zarejestruje sie moze 1-2% ludzi a mi chodzi o 100%
bełdzio
tak wiec odpowiedź jest prosta smile.gif nie da sie zabezpieczyc smile.gif kontrole ip mozna obejsc uzywajac proxy czy tora, ciacho mozna skasowac, a user agenta mozna dowolnie sobie zmieniac smile.gif
bim2
lepszy 1-2% realnych głosów niż 100% fałszywych. : - )
mike
Daj pytanie: "Głosowałeś już?"
Jeśli ktoś wybierze Tak to pokazujesz wyniki, jeśli wybierze Nie to pozwalasz głosować tongue.gif

Nie ma lepszej metody. Każda inna jest tak samo denna i łatwa do obejścia :-)
bim2
Panie Mike, ale skąd użytkownik ma wiedzieć, że głosował jak nie zna wynikow i głosujących? smile.gif

Możesz w jakiś sposób monitorować statsy i jak zauważysz, że w 1 min jest 100 głosów to cofasz do poprzedniej formy, tzn. usuwasz te 100 głosów
Gigante
Cytat(bełdzio @ 11.11.2008, 17:10:57 ) *
tak wiec odpowiedź jest prosta smile.gif nie da sie zabezpieczyc smile.gif kontrole ip mozna obejsc uzywajac proxy czy tora, ciacho mozna skasowac, a user agenta mozna dowolnie sobie zmieniac smile.gif

Myslalem nad pobieraniem nr karty sieciowej... ale to tez mozna zmienic... ale nie popadne jeszcze w taka paranoje... mam nadzieje ze te rzeczy ktore wyzej zaproponowalem w jakis sposob utrudnia oszustwa osobom, ktore beda sie chcialy podjac tego zadania smile.gif tymbardziej ze nie beda znaly tych zabezpieczen...
marcio
Cytat
Myslalem nad pobieraniem nr karty sieciowej

Rotfl smile.gif

Ludzie moze zamiast super zabezpieczec jakies ankiety lepiej zabezpieczac wazniejsze czesci skryptow, oczywiscie to co napisales w pierwszym poscie wystarczy potem dodawanie zbednych odpowiedzi do ankiety HaxioRowi sie znudzi a nie mysle zeby byli az tak naiwni
mike
Cytat(bim2 @ 11.11.2008, 21:33:38 ) *
Panie Mike, ale skąd użytkownik ma wiedzieć, że głosował jak nie zna wynikow i głosujących? smile.gif
To jak widzisz ankietę, czytasz odpowiedzi to nie wiesz czy już głosowałeś?
Można mieć pamięć kiepską ale aż tak krótką? :-)
Szunaj85
Ja mam nadzieję, że w swoim skrypcie nie traktujesz tych "zabezpieczeń" indywidualnie, ale zbiorowo jako jedno zabezpieczenie.
Chodzi mi o to, że np. jeśli ktoś na twojej stronie zagłosowałby posiadając przeglądarkę Firefox 3.0.4,
a później inna osoba o identycznej przeglądarce próbowała by zagłosować wyskoczyłby jej komunikat, że już głosowała chociaż w rzeczywistości tak nie było. A wszystko to dlatego, że skrypt ma już taką przeglądarkę zapisaną. Co innego jak dana przeglądarka jest przypisana do numeru IP i nazwy hosta.
Mam nadzieję, że prawidłowo wytłumaczyłem. worriedsmiley.gif
A co do twojego pytania.
Nie potrafię ci odpowiedzieć, ale jestem ciekaw czy są jeszcze jakieś inne metody zabezpieczenia tego rodzaju skryptu. questionmark.gif
bartg
Cytat(mike @ 12.11.2008, 09:40:26 ) *
Można mieć pamięć kiepską ale aż tak krótką? :-)

Są na tym świecie dziwy o którym nie śniło się filozofom winksmiley.jpg

Nie warto czegoś takiego zabezpieczać. Lepiej zabezpiecz bezpieczeństwo całej stronki.
ultra_18
ip, ciastko i user_agent wystarcza do tego żeby 95% osób nie umiało sobie z tym poradzić a pozostałe 5% może i bedzie próbować ale za pewne szybko im sie to znudzi
Gigante
Cytat(ultra_18 @ 21.11.2008, 20:32:12 ) *
ip, ciastko i user_agent wystarcza do tego żeby 95% osób nie umiało sobie z tym poradzić a pozostałe 5% może i bedzie próbować ale za pewne szybko im sie to znudzi

tak też testuje moją wersje skryptu:
IP
Ciacho

z hosta zrezygnowalem poniewaz z tego co mi sie wydaje HOST = IP (jeśli jestem w błędzie proszę mnie poprawić)
co do informacji o przeglądarce i systemie ostatecznie nie znalazłem dla tej informacji konkretnego miejsca w tym skrypcie

a tu jak to wyglada (mile widziane wszelkie modyfikacje z krotkim komentarzem)
  1. <?php
  2. // czy to 'IP' jest już w BD?
  3.        $pytanie = "SELECT ip FROM _przybysze WHERE ip='".$ip."'";
  4.        $wynik = mysql_query($pytanie);
  5.        $ile = mysql_num_rows($wynik);
  6.        if ($ile==0)
  7.        {
  8.            if (!isset($_COOKIE['nazwa_ciacha']))
  9.            {
  10.                  setcookie('nazwa_ciacha', '1', time() + 60 * 60 * 24);
  11.                  
  12.                // zapisywanie do danych o przegladajacych strone
  13.                 $pytanie = "INSERT INTO _przybysze VALUES('".time()."', '".gethostbyaddr($_SERVER['REMOTE_ADDR'])."', '".$_SERVER['REMOTE_ADDR']."', '".$_SERVER['HTTP_USER_AGENT']."', '".$_SERVER['HTTP_REFERER']."')";
  14.                mysql_query($pytanie);
  15.                
  16.                $pytanie = "SELECT ip FROM _przybysze WHERE ip='".$ip."'";
  17.                $wynika = mysql_query($pytanie);
  18.                $ile = mysql_num_rows($wynika);
  19.            }
  20.        }
  21. ?>


Do bazy zapisuje narazie wszystkie informacje wymienione powyżej ale te, które uznam za niepotrzebene zostanąskasowanie (to jeszcze wersja testowa skryptu party.gif )
gregi1
Pytanie laika:)

Załóżmy ze napisze podobnie jak kolega wcześniej (nie traktujcie jako plagiat) traktuje kod powyzszy jako wzor?

To mam pytanie czy na poczatku pod $ip jest zapisywany ip tak:
$ip=$_SERVER['REMOTE_ADDR'];

questionmark.gif?

I czy dobrze rozumiem ze ten kod powinien byc w tym pliku ktory podpinam pod action w formularzu?
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.