![]() |
![]() |
![]()
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 |
|
|
![]()
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: 25.08.2025 - 05:48 |