![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 30.11.2011 Ostrzeżenie: (0%)
|
Posiadam system głosowania i chcę dorobić do niego blokowanie możliwości wielokrotnego głosowania. Planuję wykorzystać do tego metodę sprawdzania ip osoby głosującej. Potrzeba do tego bazy z adresami ip, które już na dany element oddały głos.
Pytanie moje brzmi: w jaki sposób gromadzić adresy ip osób, które oddały głos?
Zastanawiam się czy sposób nr 1, przy założeniu 10 000 elementów na które można głosować i 10 000 użytkowników oddających głos na każdy z nich, nie będzie zbyt obciążający skrypt? Przy opisanym założeniu powstanie 10 000 000 wierszy w tabeli z adresami ip... A jeżeli jeszcze bardziej zwiększy się liczba elementów i głosujących? (generalnie ciekawy jestem czy jest jakieś praktyczne ograniczenie ilości wierszy i kolumn w tabeli bazy danych?) W sposobie nr 2, może się okazać, że braknie miejsca na dopisywanie kolejnych adresów ip... gdyż z tego co się orientuję pola typu text czy nawet longtext ma jakieś ograniczenia ilości bajtów:> W przypadku sposobu nr 3 też obawiam się o szybkość wykonywania skryptu... Co Wy na to? Proszę o podpowiedzi i rady w poruszonej kwestii. A może ktoś widzi jakieś inne rozwiązanie problemu blokowania wielokrotnego głosowania? Może warto dodać jeszcze sprawdzanie cookies. |
|
|
|
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
Witam.
Sposób pierwszy zdecydowanie 2 i 3 to porażka. Zobacz także jak wydajniej przechowywać adresy IP w bazie jako INT.
A w php ip2long. Ten post edytował rocktech.pl 7.01.2012, 12:33:48 -------------------- Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore
I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 30.11.2011 Ostrzeżenie: (0%)
|
Korzystając z tematu chciałbym jeszcze zapytać o jakieś polecane artykuły na temat optymalizacji działania bazy danych. Chciałbym się dowiedzieć jak kształtować budowę mojej bazy danych z punktu widzenia szybkości działania serwisu. Kiedy i czy w ogóle tworzyć więcej niż jedną bazę, czy są jakieś ograniczenia praktyczne co do ilości tabel w bazie danych, czy kolejność i ilość kolumn w tabeli ma jakieś znaczenie?
|
|
|
|
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%)
|
Jeśli w Twoim skrypcie można głosować raz na 24h, proponuje dodać do tabeli dodatkową kolumnę timestamp i przy pomocy zapytania sprawdzać czy IP znajduje się w bazie w ostatnich 24h. Jeśli dobrze kminie, wypadało by dodać również indeks na timestamp dla szybszego operowania na bazie.
-------------------- |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.08.2025 - 02:34 |