Savail
2.07.2010, 21:53:03
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

.
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
2.07.2010, 23:30:04
Zaraz, zaraz. Przecież aktywację email przeprowadza się raz i tę wartość także zmienia się raz.
Adis92
3.07.2010, 00:16:23
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.
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
3.07.2010, 07: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?
pedro84
3.07.2010, 09:36:21
No tak.
Grze_chu
3.07.2010, 09:57:42
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
3.07.2010, 10: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?
gigzorr
3.07.2010, 10:21:30
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
3.07.2010, 10:23:50
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
3.07.2010, 10:50:34
A login tez szyfrować? Czy tylko haslo? Bo jak login bede szyfrowal to bedzie troche problem z wyswietlaniem nazwy uzytkownika
gigzorr
3.07.2010, 10:52:07
haslo tylko ><
Savail
3.07.2010, 10:56:36
Dzięki wszystkim za pomoc ^^
pedro84
3.07.2010, 10:59:17
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

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
3.07.2010, 12:25:13
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.