Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jedno wej. na str i ani raza wiecej? JAK!
Forum PHP.pl > Forum > Przedszkole
Gość_robson
Witam!

Chciałbym się dowiedzieć, jak przy użyciu jezyka php rozwiązać problem powyższy. Chodzi o to, aby z jednego komputera dało się zrobić tylko jeden wpis do bazy danych...

Coś mi chodzi po głowie wykorzystanie plikow cookies, ale jestem swierzy w php i nie weim ja się za to zabrać.

Z góry dzięki za pomoc!


Pozdrawiam,
Robert
Kinool
generalnie nie ma 100% mozliwosci jednoznacznego rozpoznania komputera, mozesz sprawdzac adres IP, umieszczac cookie, sprawdzac klienta, przegladrake i system ale wszystkie te informacje jakie mozesz pobrac (bez wiedzy usera) mozna podrobic lub zmienic.
tts
mam dziwne wrazenie, ze tu chodzi o przedstawienie gotowego rozwiazania...

tak ja Kinool rzekl nie ma 100% mozliwosci na jednoznaczna identyfiakcje komputera, ale imho mozesz ograniczyc ilosc wpisow do bazy w nast sposob: pobierac od uzytkownika informacje o ip, przegladarce i systemie, a nast. wraz z wpisem do bazy zapisac rowniez te informacje, przed wpisem do bazy sprawdzic czy komputer o takich wlasnosciach (ip, system, przegladarka) nie dokonal juz takiego wpisu. wada tego rozwiazania jest jednak niepotrzebna ilosc gromadzonych informacji i dodatkowy select, ktory obciaza baze. aby ustrzec sie przed dowcipnisiami, ktorzy pomimo komuniaktu, ze taki wpis juz istnieje beda odswiezac strone wykonujac tym samym niepotrzbnego selecta mozna by w sesji ustawic licznik, ktory po wykonaniu selecta czy selecta i inserta, pozwolilby na blokade kolejnego wykonania operacji na bazie..

(w skrocie: na formularzu zaczynam sesje i ustawiam w niej zmienna licznik na zero -> formularz przetwarzajacy sprawdza stan licznika i zwieksza go o 1, jezeli licznik wynosi 1 to, sprawdza dane, wykonuje selecta na danych z formularza + ip, przegladarka, system i co tam jeszcze chcesz do "jednoznacznej identyfikacji", jezeli wpisu w bazie nie ma to go dodaje jezeli jest to wyswietla komunikat o bledzie..).

oczywiscie zawsze mozna zamknac przegladarke/(wykonac jeszcze raz skrypt majacy na celu zapchanie bazy) no ale na to juz wplywu nie mamy.

i jeszcze sesja, o ktorej wspomnialem... jezeli idzie na ciastkach to nie dobrze bo mozna zablokowac ich obsluge, jezeli nie to w miare dobrze powyzsze rozwiazanie dziala...
dr_bonzo
Jesli sesja nie jest oparta na ciastkach to mozna usunac ID sesji z adresu.
Po prostu:
Cytat
generalnie nie ma 100% mozliwosci jednoznacznego rozpoznania komputera
. IMO wysatarczy sprawdzanie IP i ustawienie limitu kilka wpisow na godzine/dobe/forever czy inna wartosc.
Kinool
Cytat(dr_bonzo @ 2005-02-19 11:06:24)
wysatarczy sprawdzanie IP i ustawienie limitu kilka wpisow na godzine/dobe/forever czy inna wartosc.

kolega chce zrobic z jednego kompa jeden wpis tak wiec poleganie na adresie IP to bardzo kiepski sposob! dynamiczne IP albo NAT skutecznie uniemozliwiaja wykoanaie takich operacji.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.