![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
jestem początkujący w OOP i postanowiłem napisać własną klasę logowania. Poniżej kod klasy i jej użycie. Proszę o opinie, uwagi, będę wdzięczny. Nie wiem czy dobrze rozumię niektóre aspekty oop stąd moje zapytanie. Dzięki.
Kod klasy:
Ten post edytował dopelganger 21.08.2013, 09:20:11 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) addlashes nie sluzy do zabezpieczania danych wkladanych do bazy
2) Skoro uzywasz PDO i bindowania to jestes juz bezpieczny 3) Klasa nie powinna walic na ekran zadnych komunikatow. 4) A juz na pewno klasa nie powinna robic zadnych EXITów |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) Trzymanie hasla w czystym md5 jest w dzisiejszych czasach jednoznaczne z trzymaniem hasła w postaci jawnej
2) Wywal te malpy @ 3) Klasa nie powinna robic łączenia z bazą. Klasa to połączenie ma otrzymać
Powód edycji: [nospor]:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
1) Trzymanie hasla w czystym md5 jest w dzisiejszych czasach jednoznaczne z trzymaniem hasła w postaci jawnej 2) Wywal te malpy @ Klasa nie powinna robic łączenia z bazą. Klasa to połączenie ma otrzymać zamiast md5 stosować inną funkcję ? jeśli tak to jaką, lub w jaki sposób hashować? |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
http://forum.php.pl/index.php?showtopic=44...t=0&start=0
Przeczytaj caly watek |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
a mam jeszcze jedno pytanie po części powiązane z tym tematem:
czy session_start() i połączenie z bazą wywoływać w momencie kiedy wykonuję jakąś operacje na bazie itp, czy umieścić to tylko raz w pliku np. index.php ? np:
Co jest dobrą/ lepszą praktyką? |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Z sesjo korzysta sie takze gdy user nie jest zalogowany, wiec sesja powinna sie startowac zawsze na poczatku skryptu glownego. No ale roznie ludzie robią
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 21 Dołączył: 10.06.2011 Skąd: Głogów Ostrzeżenie: (0%) ![]() ![]() |
Ja bym nie generował za każdym razem nowej sesji.
session_id zwraca id sesji, więc jeżeli jest pusta można stworzyć nową sesje.(session_start()) Jak chcesz wrócić do starej sesji to ustawiasz session_id($_COOKIE[session_name()]); |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Ja bym nie generował za każdym razem nowej sesji. On nie generuje za kazdym razem nowej sesji, tylko podczas logowania zmienia ID sesji - to akurat dobry myk
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
no dobra, troche pozmieniałem, ale też troche sie pogubiłem w tym wszystkim, niby klasa działa, ale ... czuje to "ale" wewnętrzny głos, który mówi mi, że nadal coś może być nie tak. Głównie chodzi mi o usunięcie "echo z klasy. Hmmm wobec tego muszę użyć metod podczas użycia klasy, czy tak? :
a dalej kod klasy zmieniony wg. wskazówek (oprócz hashowania, to jeszcze badam teren)
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 21 Dołączył: 10.06.2011 Skąd: Głogów Ostrzeżenie: (0%) ![]() ![]() |
tylko to mi się w oczy rzuciło, ! jest zaprzeczeniem np. !true == false, true != false |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
3) Klasa nie powinna walic na ekran zadnych komunikatow. dlaczego? (zrodziło mi się pytanie)
tylko to mi się w oczy rzuciło, ! jest zaprzeczeniem np. !true == false, true != false fakt, dzięki (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat dlaczego? (zrodziło mi się pytanie) Bo tak (zrodzial mi sie odpowiedz) (IMG:style_emoticons/default/tongue.gif) Bo klasa autoryzacja to klasa autoryzacji a nie klasa odpowiedzialna za komunikaty. Za komunikaty odpowiada co innego. Wezme sobie taka klase od ciebie i nagle jakies komunikaty ni z gruszki ni z pietruszki beda mi sie w systemie pojawiac.... |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Bo tak (zrodzial mi sie odpowiedz) (IMG:style_emoticons/default/tongue.gif) Bo klasa autoryzacja to klasa autoryzacji a nie klasa odpowiedzialna za komunikaty. Za komunikaty odpowiada co innego. Wezme sobie taka klase od ciebie i nagle jakies komunikaty ni z gruszki ni z pietruszki beda mi sie w systemie pojawiac.... no tak (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 22:40 |