Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zabezpieczenie przed podwojnym glosowaniem itp
Forum PHP.pl > Forum > PHP
thornag
Witam

Standardowo chcialbym zablokowac podwojne klikanie w glosuj czy tez zliczac tylko unikalne dzienne wejscia na strone.

Dwie metody wydaja sie oczywiste, cookies i zapis IP w bazie danych.

Cookies maja powazna wade ze mozna je usunac i glosowac znowu, a rating jest na tyle wazny ze nie moge pozwolic na samodzielne nabijanie glosow.

Moge zapisywac IP, jednak z doswiadczenia wiem ze takie dzialanie wykluczalo z mozliwosci glosowania prawie cale moje osiedle biggrin.gif
Co do zapisu IP wada jest jeszcze jedna. Biorac pod uwage 10 000 (min) uzytkownikow, kazdy z nich powiedzmy ma 5 kanalow z 10 itemami (RSS) wiec bioprac pod uwage komentarze, mamy 10 000 x 5 x 10 x (niewiadomo ile klikniec dziennie). Baza danych bedzie przeolbrzymia.

Czy ktos zna jakies alternatywne wyjscie ?

Czy istnieje sposob pewny ? (nie dajacy sie obejsc, i nie banujacy niewinnych tongue.gif )
piczu
jezeli osobajest z sieci lokalnej to posiada naglowek X-Forwarded-For i z niego mozesz zapisac IP. Mozesz tez zapisywac hasze kombinacji IP + User-Agent itp.
thornag
To dalej nie rozwiazuje problemu kilkuset (mozliwe) rekordow w tabeli.
Aure
Cytat(piczu @ 24.07.2006, 20:49 ) *
jezeli osobajest z sieci lokalnej to posiada naglowek X-Forwarded-For i z niego mozesz zapisac IP. Mozesz tez zapisywac hasze kombinacji IP + User-Agent itp.

Bzdura, nagłówek X-Forwarded-For jest dodawany w przypadku gdy połączenie przechodzi przez proxy (a i to nie zawsze) i z siecią lokalną nie ma nic wspólnego.

Thornag -> IMHO masz do wyboru tylko ciasteczka albo tworzenie jakiejś unikalnej kombinacji adresu IP i nagłówków HTTP. A liczba rekordów, która podajesz nie jest żadnym wyzwaniem ani dla mysql'a ani dla postgresql'a o komercyjnych bazach nie wspominając...
thornag
@Aure => Sam co bys zrobil ? Kombinacja najpierw sprawdzanie czy jest cooki jak nie ma to baza ? Na odwrot ? Czy zastosowac tylko jedno rozwiazanie ? Czy jest jakis parametr ktorym php moze jednoznacznie okreslic maszyne ? Cos mi sie obija wewnatrz tej pustej czaszki ze apache do loga zapisywal jakies unikalne identyfikatory ?
Aure
Nie silił bym się na jakieś wielkie zabezpieczenia. Do zwykłej ankiety/głosowania starczy zabezpiecznie przez ustawienie ciasteczka.
Jeśli to arcyistotne głosowanie to wymusiłbym rejestrację użytkownika z aktywacją przez email żeby zapewnić sobie unikalność.
Względnie jeśli zależałoby mi na anonimowości to wyciągałbym hash z nagłówków HTTP i adresu IP (nie testowałem nigdy w praktyce, więc nie wiem jak wyglądałaby tu kwestia powtarzalności i co za tym idzie wykluczania zbyt wielu osób).
piczu
Cytat(Aure @ 24.07.2006, 19:23 ) *
Bzdura, nagłówek X-Forwarded-For jest dodawany w przypadku gdy połączenie przechodzi przez proxy (a i to nie zawsze) i z siecią lokalną nie ma nic wspólnego.

Nie zawsze, ale jezeli na serwerze jest zainstalowany Squid to tak.
thornag
Serwis dotyczy podcastingu, rejestracja userow jest platna wiec odpada taka unikalnosc. Chcemy po prostu uniknac sztucznego nabijania rankingu (zeby znajdowac sie u gory w listach:)) Poki co zastosuje ciastka.

@Aure - > wielkie dzieki za pomoc i konepcje.

Jesli kto jeszcze zajrzy a ma jakies ciekawe pomysly nie pogardze.

Pozdrawiam
Aure
Cytat(piczu @ 24.07.2006, 23:27 ) *
Nie zawsze, ale jezeli na serwerze jest zainstalowany Squid to tak.

Pozwole sobie poprawić raz jeszcze winksmiley.jpg X-Forwarded-For nie jest nagłówkiem specyficznym dla Squida - wiele innych serwerów proxy również go dodaje. Zresztą w Squidzie można ustawić dyrektywę forwarded_for na Off czego efektem będzie rpzekazywaniem ciągu 'unknown' zamiast adresu IP, więc w żaden sensowny sposób wykorzystać się tego nie da.
piczu
Przepraszam za offtopic,
ja nie napisalem ze naglowek ten jest specyficzny dla Squida tylko ma on taka zawartosc (gdy jest wlaczony, a domyslnie jest)
Toom
a co z userami neostrady? którzy po każdym załączeniu jej dostają nowy IP?
Ja stosuję ciasteczka + IP do bazy, jak ktoś wie jak... to oszukuje :/
Czy nie znacie jakichś lepszych sposobów?

T
andycole
Rowniez przylaczam sie do pytania smile.gif
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.