ďťż

[PHP] Kod z obrazka a baza SQL aby nie narobić śmieci

       

Podstrony


telcocafe

Czy rozwiązanie z adresem IP ma sens? Czy ono może pomóc, czy tylko utrudnić?

Tabela w bazie SQL:
code | exp (expires) | ip
Przed wygenerowaniem kodu z obrazka wywalane są stare rekordy (15 min. wcześniej utworzone lub starsze), a także te, które zawierają adres IP, z którego wszedł użytkownik. (...) Przy generowaniu kodu do bazy SQL zapisywany jest także IP użytkownika.

Czy to może pomóc w utrzymaniu porządku w tabeli z kodami? Kod z obrazka będzie generowany nie tylko przy rejestracji, ale także komentowaniu przez gości, itp.

Problem może być wtedy, gdy będą chciały rejestrować się / komentować osoby z tym samym zew. IP. Czy wtedy dobrym rozwiązaniem jest zapis także wewnętrznego IP?

Innym sposobem jest wpisywanie do tabeli typu (rejestracja, komentarze, itp., np. wartości: 1, 2, 3).

Może znacie lepsze rozwiązania?
Użytkownik Ferrari edytował ten post 20 maj 2006, 10:42


to ma być zwykły token ?

Kod nie jest szyfrowany (wg mnie nie ma sensu - chyba że się mylę). To jest liczba w zakresie 5-7 cyfr.

Ja to bym widział inacze. Znacznie proście i wg mnie znacznie sensowniej :-) Czyli masz funkcje token, której zadaniem jest wygenerowanie n liczb, które zwraca oraz umieszcza w zmiennej sesyjnej. Z tyniku funkcji tworzysz napis na obrazku, a ze zmienną sesyjną porównujesz to co wklepie user :-)



Sesje byłyby może dobre, tylko nie każdy serwer je obsługuje. Poza tym są komplikacje z "register globals".

Można ewentualnie wprowadzić ID sesji (zapisywane w SQL, nie tej wbudowanej w PHP) dla każdego odwiedzającego (nawet gościa). Czy to dobry pomysł? Wtedy przed generowaniem kodu usuwane byłyby wszystkie kody z obrazków, gdzie ID sesji jest równe aktualnej.

Chyba, że lepiej korzystać z sesji wbudowanych w PHP. Co jest lepszym rozwiązaniem?
Użytkownik Ferrari edytował ten post 20 maj 2006, 15:00
Hm.. serwer, który nie obsługuje sesji i ma włączone RG hm.. nawet na taki bym nie spojrzał :-) Wg mnie użycie do tego SQL jest mało wydajne + do tego jeśli masz serwer bez sesji to za dużo na nim się nie pobawisz :-) głównie chodzi mi o to, że nie zainstalujesz na nim nic ciekawego :-)

Napisałem prosty skrypt, który testuje register globals i sesje, a także wyświetla trochę informacji (może go przedstawię w odpowiednim dziale). Sprawdziłem kilka serwerów (m. in. DHost, Yoyo, PRV, Ósemka) - wszystkie miały włączone sesje i wyłączoną opcję "register globals".

Jeśli "register globals" jest włączone, $_SESSION['zmienna'] także działa. Nie trzeba wtedy używać session_register() itp.???
Użytkownik Ferrari edytował ten post 20 maj 2006, 16:55
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.