Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Sonda w mysql, kilkukrotne kliknięcia
gladiror
post
Post #1





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


Witam!
Stworzylem sobie sonde w php i mysql... Potrzebuje jeszcze pomysłu na zrobienie blokady kilkukrotnego klikania... W czym najlepiej to zrobic? Zakładamy, ze użytkownik nie loguje sie...
Go to the top of the page
+Quote Post
Kruq
post
Post #2





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 8.02.2004
Skąd: Olsztyn

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


Witam,

Może ciasteczka ? Po zagłosowaniu wysyłasz z czasem w jakim ma głosujący nie oddawać głosu i po kłopocie .... a i sprawdzasz cicha zanim nacisniesz GŁOSUJ

Pozdro
Go to the top of the page
+Quote Post
gladiror
post
Post #3





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


No dobra, ale nie wiem jak mam sie do tego zabrać... Jakos nie bawiłem się w smakołyki nigdy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Może pomożesz?
Go to the top of the page
+Quote Post
strife
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Albo za pomocą sesji... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Bo na ciastka są sposoby (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jeśli ktoś zagłosował to zmieniasz sesje $_SESSION['sonda'] = TRUE, potem sprawdzasz czy dana sesja istnieje, jesli tak to blokujesz...
Go to the top of the page
+Quote Post
Kruq
post
Post #5





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 8.02.2004
Skąd: Olsztyn

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


Cytat(gladiror @ 2005-09-15 22:51:00)
No dobra, ale nie wiem jak mam sie do tego zabrać... Jakos nie bawiłem się w smakołyki nigdy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Może pomożesz?

Niestety co do samego kodu to nie pomogę. Miałem ostatnio przerwę w programowaniu i z praktyką jest kiepso u mnie teraz ... ale mogę polecić lekturę ..

MANUALA z ciastkami (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
gladiror
post
Post #6





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


Ale sesja to raczej lipa bedzie... BO jak zamkniesz przegladarke, to później znowu zagłosujesz... bo bedzie inny nr sesji..
Go to the top of the page
+Quote Post
Kruq
post
Post #7





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 8.02.2004
Skąd: Olsztyn

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


Cytat(scarface @ 2005-09-15 22:51:30)
Albo za pomocą sesji... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Bo na ciastka są sposoby (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jeśli ktoś zagłosował to zmieniasz sesje $_SESSION['sonda'] = TRUE, potem sprawdzasz czy dana sesja istnieje, jesli tak to blokujesz...

A co do sessji to nie są one tylko jak jest włączona przeglądarka ?

Jak kolo wyjdzie i wejdzie to znowu będzie mógł głosować .. a tu chyba chodzi o blokade na jakiś czas, czy może źle myśle ?

Pozdro

@gladiror własnie mnie wyprzedziłeś ;]

Ten post edytował Kruq 15.09.2005, 21:59:13
Go to the top of the page
+Quote Post
strife
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Jeśli chodzi o ciastka - jak wspomniałem wyżej - nie polecam, bo na dłuższą metę, jak znajdzie się ktoś dociekliwy to i tak postawi na swoim (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Na ciastkach pisane z palca...
  1. <?php
  2.  
  3. // ... jesli zaglosowal, nacisnal submit
  4. set_cookie('sonda', '1', time() + 3600); // wazne godzine...
  5. // a potem przy nastepnym wcisnieciu warunek
  6. if ( isset ( $_COOKIE['sonda'] ) )
  7. {
  8.   die('Nie mozesz ponownie glosowac!');
  9. }
  10.  
  11. ?>


W sumie sesje też nie są dobrym rozwiązaniem, ponieważ wystarczy zamknąć i ponownie uruchomić przeglądarke. Chyba jedynym pewnym i sprawdzonym sposobem głosowania w sondach jest wpierw wprowadzenie jakiegoś systemu logowania i głosowanie tylko gdy jest ktoś zalogowany...

@Kruq - dokładnie...

Pozdrawiam!
Go to the top of the page
+Quote Post
gladiror
post
Post #9





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


A co myslicie jakby pobierac ip, winde, rozdzielczosc? I porownywac?? jezeli 3 wersje zgadzaja sie to znaczy ze to ta sama osoba...
Go to the top of the page
+Quote Post
Kruq
post
Post #10





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 8.02.2004
Skąd: Olsztyn

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


Cytat(scarface @ 2005-09-15 22:59:58)
  1. <?php
  2.  
  3. // ... jesli zaglosowal, nacisnal submit
  4. set_cookie('sonda', '1', time() + 3600); // wazne godzine...
  5. // a potem przy nastepnym wcisnieciu warunek
  6. if ( isset ( $_COOKIE['sonda'] ) )
  7. {
  8.   die('Nie mozesz ponownie glosowac!');
  9. }
  10.  
  11. ?>

a nie lepiej jest najpeirw zrobić warunku ? Jak ktośbędzie głosował to najpierw sprawdza czy głos oddał już ktoś ?
  1. <?php
  2. if ( isset ( $_COOKIE['sonda'] ) )
  3. {
  4.   die('Nie mozesz ponownie glosowac!');
  5. }
  6.  
  7. set_cookie('sonda', '1', time() + 3600);
  8. ?>


Pozdro

Cytat
A co myslicie jakby pobierac ip, winde, rozdzielczosc? I porownywac?? jezeli 3 wersje zgadzaja sie to znaczy ze to ta sama osoba...

Moim skromnym zdaniem nie opłaca się. Za dużo roboty a i tak ciacha chyba są lepsze ;]
A jeżeli chcesz mieć pewniejsze zabezpieczenia to tak jak powiedział @scarface zastosuj jakiś system logowań.

Pozdro

Ten post edytował Kruq 15.09.2005, 22:07:52
Go to the top of the page
+Quote Post
gladiror
post
Post #11





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


Wasze skrypty nie działają, bo zawierają maleńki błąd (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

  1. <?php
  2. if ( isset ( $_COOKIE['sonda'] ) )
  3. {
  4.   die('Nie mozesz ponownie glosowac!');
  5. }
  6.  
  7. setcookie('sonda', '1', time() + 3600);
  8. ?>


setcookie, a nie set_cookie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )

DObra, ale tutaj chodzi o to, że najpierw sprawdza czy istnieje ciastko o nazwie sonda? Jeżeli istnieje to nie możesz głosować, w przciwnym razie tworzy ciastko - tak??

Ale jeszcze jak mam umieścić ten skrypt w swoim? Bo wkleiłem go i w ogólnie nie dodaje nic do bazy... Usunąłem ciastka z folderu, gdzie robi pliki i dalej nie działa...

Ten post edytował gladiror 16.09.2005, 10:27:35
Go to the top of the page
+Quote Post
pawsul
post
Post #12





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.09.2005

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


mogl bys w bazie danych przechowywac informacje o IP osob ktore glosowaly, oraz dzien w ktorym glosowaly(czyli
ID 1
IP 111.111.111.111
DATA 11.11.1111) czy cos w tym stylu, ale pamietaj ze dla chcacego nie ma nic trudnego i jesli ktos bedzie chcial oddac glos kilka razy to i tak go odda
Go to the top of the page
+Quote Post
gladiror
post
Post #13





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


To ja wiem, że wszystko da się obejść... W końcu jesteśmy Polakami, a oni potrafią (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Ale mi chodzi o potencjalnego użytkownika sondy... A nie o osobę z dużą wiedzą... Bo ciastka też sie da obejść - wyłączyć lub usunąć plik z folderu z ciastkiem... Nie da sie idealnie zrobić tej sondy, ale warto próbować w jakiś sposób ją zabezpieczyć...
Go to the top of the page
+Quote Post
pawsul
post
Post #14





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.09.2005

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


to moze zrob tak jak napisalem, bo komu bedzie sie chcialo ciagle rozlaczac(jesl ktos ma IP dynamiczne) lub laczyc przez jakies proxy(chociaz to chyba i tak mozna sprawdzic jakie ktos ma IP, zalezy chyba od proxy ale nie znam sie na tym) i ciagle zmieniac ustawienia polaczenia
Go to the top of the page
+Quote Post
gladiror
post
Post #15





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


Mi się wydaje, ze głupie ciasteczka powinny wystarczyć, tylko nie moge ich zastosować... Ktoś mi w końcu pomoże? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
pawsul
post
Post #16





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.09.2005

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


  1. <?php
  2.  
  3.  
  4. if ($sonda!=1)
  5. {
  6. echo "mozesz oddac glos" ;
  7. setcookie("sonda", "1",time()+3600*24); 
  8. }
  9. else
  10. {
  11. echo "juz glosowales";
  12. }
  13.  
  14. ?>
Go to the top of the page
+Quote Post
gladiror
post
Post #17





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


I jak to wstawie na stronę to nikt już więcej nie zagłosuje? Co oznacza słowo "sonda"?
Go to the top of the page
+Quote Post
nospor
post
Post #18





Grupa: Moderatorzy
Postów: 36 558
Pomógł: 6315
Dołączył: 27.12.2004




ty weź zajrzyj do manuala : http://pl.php.net/setcookie
a nie walisz pytania w stylu: co to napis "sonda". W manualu jest napisane.

Co do glosowania. Nie zaglosuej ten kto glosowal i ten ktos musi miec wlaczona obsluge ciasteczek. I nie wiecej a przez dobe.
Go to the top of the page
+Quote Post
gladiror
post
Post #19





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


Pawsul - ten skrypt wyświetla mi błąd:

Warning: Cannot modify header information - headers already sent by (output started at on line 5 (czyli w miejsu setcookie)
Go to the top of the page
+Quote Post
nospor
post
Post #20





Grupa: Moderatorzy
Postów: 36 558
Pomógł: 6315
Dołączył: 27.12.2004




http://php.pl/artykuly/dla_poczatkujacych/...ch_programistow
przeczytaj dokladnie, a bedzieesz wiedzial czemu i bedzieesz wiedzial co zrobic by dzialalo
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 22.09.2025 - 11:03