Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Kontrola kliknięć
Anioool
post 9.07.2008, 09:26:33
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 9.07.2008

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


Witam:)

Mam na stronie wyświetlani jakiś wypowiedzi i jest pole ocena gdzie są możliwości oddania oceny dodatniej i ujemnej... Wszystko jest przechowywane w bazie danych... I teraz jak to zrobić aby użytkownik jak raz zaglosuje nie mógł już głosować?? Dodam że mam otwieraną sesje przy wejściu na stronę, lecz użytkownik anonimowy jest nim nadal tylko potem po logowaniu sesja jest uzbrajana..
Go to the top of the page
+Quote Post
zukowskp
post 9.07.2008, 09:32:14
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 3
Dołączył: 8.07.2008

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


a kontrola ip nie wchodzi w gre?
Go to the top of the page
+Quote Post
nevt
post 9.07.2008, 09:34:05
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


jeżeli nie jest to system głosowania do parlamentu, to wystarczy u usera założyć ciasteczko, ze już oddał głos. oczywiście jest to prymitywne i banalne do obejścia, ale w prostych zastosowanich zupełnie wystarczające


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
Shili
post 9.07.2008, 09:34:40
Post #4





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Tak naprawdę to się nie da - jeśli dajesz głosować gościom, to jest multum sposobów, żeby to obejść, jeśli zmieniłbyś na głosowanie dla zarejestrowanych - zawsze można założyć nowe konto.

Ustawiaj ciacho, a w bazie danych zapisuj adres ip głosującego. Przy głosowaniu sprawdzaj, czy ip się nie duplikuje, a ciacho nie jest ustawione. Oczywiście jest to bardzo zawodne, nie uwzględnia dynamicznych ip, może blokować głosowanie użytkownikom, którzy jeszcze nie głosowali i tak dalej.

Ten post edytował Shili 9.07.2008, 09:35:16
Go to the top of the page
+Quote Post
krowal
post 9.07.2008, 09:35:12
Post #5





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

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


Stwórz dodatkową tabelę z ocenami wystawianymi przez użytkowników z takimi polami jak:
- uzytkownik_id
- wypowiedz_id
- ocena

Zapisuj oceny w tej tabeli, a potem sprawdzaj czy użytkownik o konkretnym id głosował już na daną wiadomość i jeśli tak to nie pozwalaj na powtórne oddanie głosu.

[edit]
no chyba że nie ma kont użytkowników, wtedy pozostają sposoby podane powyżej smile.gif

Ten post edytował krowal 9.07.2008, 09:36:29


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
Anioool
post 9.07.2008, 10:11:20
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 9.07.2008

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


Myśe właśnie nad ciastkiem ale przyznam się szczerze pierwszy raz pisze w php;) tak to tylko pisałem c++ i c# oraz Asp...

Użytkownicy nie mogą się rejestrować tylko odpowiednia grupa będzie rejestrowana(czyt. obsługa portalu)...
Jkabym mógł prosić jakieś wskazówki jak takie ciastko wstawić
Go to the top of the page
+Quote Post
Shili
post 9.07.2008, 10:15:59
Post #7





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


google ukradli? winksmiley.jpg

setcookie" title="Zobacz w manualu PHP" target="_manual dodatkowo (jeśli zaczynasz, to tym bardziej zwracam uwagę na nieocenioną pomoc jaką jest manual - zacznij sobie przyswajać posługiwanie się nim)
Go to the top of the page
+Quote Post
Anioool
post 9.07.2008, 10:31:20
Post #8





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 9.07.2008

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


Dzięki:) już dawno korzystam z tej stronki:)

A jeszcze jedno pytanie... w tych ciasteczkach jak przechowywać id tych tekstów?? i teraz jedno ciasteczko to jedno id czy moge mu zwiększać ilość danych w ciasteczku??
Go to the top of the page
+Quote Post
Shili
post 9.07.2008, 11:06:41
Post #9





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Nie polecam jednego ciastka, jednego id. W ciastku możesz zapisać do bodajże 4kB informacji - to musisz wziąć pod uwagę. Ilość ciastek dla jednej domeny też jest ograniczona.

Tak naprawdę musisz sobie to wszystko skalkulować - ile będzie tekstów do oceniania, ile średnio bajtów przypada na jeden identyfikator itd. Przyjmując, że będziesz miał kilkaset takich tekstów są to 3 bajty na identyfikator. Jakoś trzeba to oddzielić, czyli na przykład przecinkiem, potem robić na ciastku explode. Nie jest to oczywiście szczególnie wydajne, natomiast jest to tylko przykład. Musisz sobie oszacować co najbardziej Ci się opłaci docelowo itd.

3x999 + 1x999 <= 4kB, czyli zmieści się w jednym ciastku.
Go to the top of the page
+Quote Post
Mlodycompany
post 10.07.2008, 07:39:57
Post #10





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


no tak ale jak ktos wyczysci ciasteczka z dysku to to i tak bedzie mogl glosowac, a glosowanie na ip tez nie jest do konca rozwiazaniem bo np. w neo ip sie z kazdym polaczeniem zmienia
Go to the top of the page
+Quote Post
dadexix
post 10.07.2008, 10:35:33
Post #11





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

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


Ciągle mówicie że blokowanie IP się da obejść a nie myślicie też o tym że moze uniemożliwić? sieć lokalna itd...?

jeśli masz problem z ilością w ciasku - polecam baze + id, skrypt robi ciasto z jakimś ciągiem(np. sha1(microtime())winksmiley.jpg, sprawdza go w bazie czy głosował na tę stronę czy nie...


połaczenie sessji i cookie - sesja znika, w bazie nie zniknie, danych u usera też nie trzymasz tylko id...

możesz tez inteligentnie ukryć id dając jako nazwe cookie np. phpbb2mysql(domysle cookie phpbb by przemo)


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 04:00