Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zabezpieczenie ankiet przed multigłosowaniami, w Operze nie działa
Blackhole
post
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

Ostrzeżenie: (0%)
-----


Hej!
Zrobiłem mechanizm do głosowania w ankietach. Przed wielokrotnym głosowaniem zabezpieczam się ciastkiem i adresem IP. U mnie na FF działa dobrze, na IE podobno też.
Jeden z użytkowników napisał mi jednak, że w Operze można głosować wiele razy, jeśli po oddaniu głosu wciśnie się przycisk WSTECZ. Pisze, że to może wina innego silnika i że
Cytat
Jeśli chcesz zrobić sobie dowolną ilość głosów wystarczy przy pierwszym głosowaniu w przeglądarce kliknąć wstecz i możesz ponownie głosować. Licznik sumuje każdy raz jako kolejny głos.
Sprawdziłem to na kilku sondach, na LK dodałem 50 głosów(zweryfikuj sobie jak masz możliwość, kliknięcia co 0.5s).
Wszystko odbyło się na Operze w wersji 10.54, na IE wszystko w porządku.

Sprawdzałem ciasteczka, i z tego co widzę nawet jak wyczyściłem bufor ciasteczkowy, to rozpoznawał poprawnie sondaże.
Po za tym w normalnych warunkach działa dobrze, tzn zagłosować można tylko raz. Chodzi tylko o sytuację wyboru za pierwszym razem, cofnięcia się do strony poprzedniej i głosowanie jest ponownie dostępne. Z punktu widzenia kodu w serwerze ta sama sesja nie powinna być zaliczania jako nowa.
Prawdopodobnie problem jest w samej Operze, ma inny silnik niż IE, i prawdopodobnie symuluje cofnięcie realnie, czyli z zmianom kodu ciasteczka na poprzednie. W IE kod ciasteczka pozostaje ten sam, i jest modyfikowany tylko przez serwer.
Jakie macie sprawdzone sposoby, by takie zabezpieczenie działało wszędzie i skutecznie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Blackhole
post
Post #2





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

Ostrzeżenie: (0%)
-----


Co do tego IP i właściwości sieci macie rację. Poza tym na neostradzie (o ile wiem) często zmienia się IP, więc jej userzy mogliby częściej głosować.

Co myślicie o takim zabezpieczeniu?
- po zagłosowaniu ustawiam cookie, wpisuję też IP do bazy i ustawiam w sesji, że głos został oddany
- gdy ktoś usunie cookie, to przy kolejnej odsłonie strony sprawdzam, czy jego IP jest w bazie lub w sesji jest info o zagłosowaniu; jeśli tak, to ponownie ustawiam cookie
- gdy zmieni się IP usera, to sprawdzam, czy ma cookie lub info w sesji; gdy ma, wpisuję IP do bazy
- gdy zniknie info sesji, sprawdzam istnienie cookie lub wpisu o IP w bazie; gdy jest, ustawiam info w sesji
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 02:07