Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Skrypt logowania
Forum PHP.pl > Forum > Przedszkole
Savail
Witam
Chciałem zabrać się do napisania skryptu logowania. Żeby zorientować się co i jak popatrzyłem sobie jak sie pisze proste skrypty logowania i zrodziło się we mnie pytanie tongue.gif.
Gdy pisałem skrypt rejestracji powiedziano mi żeby stworzyć pole active gdzie user po aktywacji emailowej jesli jest zalogowany ma wartosc 1 a jesli nie to ma wartosc 0. Przed aktywacją przechowuje tam losowy string aktywacyjny.
I teraz pytanie... Po co zmieniać w bazie danych w polu active wartosci z 0 na 1 jesli uzytkownik sie loguje, skoro wszystko może sie odbywac w sesjach? Czyli ze dla sesji przypisuje 1 gdy uzytkownik jest zalogowany a 0 jesli nie. Bardzo mnie to nurtuje bo nie wiem już jak mam przeprowadzać logowanie bezpieczną wydajną metodą.
Będę wdzięczny za każdą pomoc
pedro84
Zaraz, zaraz. Przecież aktywację email przeprowadza się raz i tę wartość także zmienia się raz.
Adis92
No dokładnie Aktywacja email przeprowadza się tylko raz jeżeli użytkownik ma wartość 0 to nie będzie mógł korzystać w pełni z konta a jeżeli ma wartość 1 to już może normalnie korzystać. Więc tutaj nie ma co się bawić sesjami bo to jest wyłącznie jeden warunek sprawdzający czy czy konto zostało aktywowane czy też nie. A na sesjach przeprowadzasz resztę logowania.
muk4
Cytat(Savail @ 2.07.2010, 22:53:03 ) *
Po co zmieniać w bazie danych w polu active wartosci z 0 na 1 jesli uzytkownik sie loguje, skoro wszystko może sie odbywac w sesjach?

Może, żeby potem dodać licznik, który pokazuje ile osób jest zalogowanych. Ale wtedy byś musiał napisać auto zmianę na '0' po np. X minutach bezczynności.
Bo ktoś się nie wyloguje tylko zamknie przeglądarkę i będzie pokazywać, że jest zalogowany.
Savail
aha czyli cos mi sie poprzestawialo? Czyli wartosc z pola active wykorzystuje w skrypcie tylko do tego zeby sprawdzic czy uzytkownik ma aktywne konto tak?
pedro84
No tak.
Grze_chu
A po aktywacji możesz z każdym odświeżeniem strony, ładować do bazy timestamp ostatniego wyświetlenia, i możesz sobie napisać przez to ładne statystyki real-time.
A i prosty (jedno zapytanie do bazy) wskaźnik online, będzie dokładniejszy, i nie będzie wymagał po np. minucie wrzucania 0 do `active`.

Pozdro!
Savail
a jeszcze przy okazji zapytam... Jaka jest idea szyfrowania hasla metoda sha1(); ? Po co to robić? I czy zaszyfrowane haslo ma zawsze 40 znaków?
gigzorr
Cytat(Savail @ 3.07.2010, 11:10:13 ) *
a jeszcze przy okazji zapytam... Jaka jest idea szyfrowania hasla metoda sha1(); ? Po co to robić? I czy zaszyfrowane haslo ma zawsze 40 znaków?



Mozesz md5 , zawsze ma 40.A poco to robic?Sam sobie odpowiedz;p

Adis raczej haseł.
Adis92
Idea szyfrowania jest taka żeby osoba która włamie się na stronę nie mogła sprawdzić loginów użytkowników do strony.
Savail
A login tez szyfrować? Czy tylko haslo? Bo jak login bede szyfrowal to bedzie troche problem z wyswietlaniem nazwy uzytkownika
gigzorr
haslo tylko ><
Savail
Dzięki wszystkim za pomoc ^^
pedro84
Cytat(Savail @ 3.07.2010, 11:50:34 ) *
A login tez szyfrować? Czy tylko haslo? Bo jak login bede szyfrowal to bedzie troche problem z wyswietlaniem nazwy uzytkownika

biggrin.gif A jak chciałbyś wyświetlić hashowany login?

Warto do hasła dodać soli, użyj wyszukiwarki forum, to zobaczysz co to, po co i czy warto (a warto).
sebekzosw
Cytat(Savail @ 3.07.2010, 08:52:18 ) *
aha czyli cos mi sie poprzestawialo? Czyli wartosc z pola active wykorzystuje w skrypcie tylko do tego zeby sprawdzic czy uzytkownik ma aktywne konto tak?



Można to też wykorzystać w inny sposób - jeżeli na 1 konto może się zalogować 1 osoba w danym czasie. Jeżeli jest 0 to user nie jest zalogowany, a jeżeli 1 to user jest zalogowany i przy logowaniu wywala błąd. Można kombinować z tym - i oczywiście w innym polu takie dane przechowywać np.: isOnline
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.