![]() |
![]() ![]() |
![]() |
--edo-- |
![]()
Post
#1
|
Goście ![]() |
Witam. Mam pytanie dotyczące klasy logowania.
Tak będzie się przedstawiał szkielet klasy. Konstruktor będzie pobierał dane z formularza a następnie je walidował. Jeżeli wszystko będzie okey, wywoła metodę checkuser, która sprawdzi, czy występuje w bazie, jeżeli będzie okey, przejdzie do metody getsession, która utworzy zmienne sesyjne. Funkcja getmysqlrow, będzie wyświetlała dane o userze jezeli sesja bedzie istniała. W taki sposób zamierzam to zrobić, aczkolwiek, niestety nie wiem czy taki sposób jest dobry. Proszę o jakieś opinie, albo o własne przemyślenia lub przykłady. Z góry dziękuje Ten post edytował batman 7.10.2008, 08:38:26
Powód edycji: dodałem bbcode ~batman
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 1 Dołączył: 6.10.2008 Ostrzeżenie: (10%) ![]() ![]() |
to moze tak:
konstruktor przypisuje pola $user i $pass funkcja check sprawdza w bazie i zwraca id z bazy albo false set session zapisuje w bazie. bardzo fajnie rozwiazane jest to w zendzie - pomysl czy nie zrobic tego na singletonie |
|
|
-B3F064- |
![]()
Post
#3
|
Goście ![]() |
Z zendami i singeltonem nie miałem styczności
Stworzyłem już klasę, która to sprawdza, aczkolwiek chcę mieć pewność iż będzie ona bezpieczna.
Jest to jedynie zalążek, dlatego chcę po części dążyć do maksymalnej poprawy kodu. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
1. Zapomnij o istnieniu funkcji addslashes() jeśli nie masz narzędzia do sprawdzania/usuwania nadmiarowych slashy. Korzystaj z funkcji odpowiedniej dla bazy danych, no mysql_real_escape_string dla mysql. 2. Jeśli hasło zapisywane w bazie jest w postaci hashu md5 nie ma sensu z jakikolwiek sposób walidować go pod kątem potencjalnych "hacków", wystarczy samo md5($_POST['haslo']) |
|
|
--edo-- |
![]()
Post
#5
|
Goście ![]() |
Co do adslashes, to będą usunięte.
Jeżeli chodzi o mysql_real_escape_string to posiadam inną funkcję, która odgórnie waliduje czy dane wejściowe filtrować.
Prosta funkcja, która zamienia nieprzyjazne stringi na encje, oczywiście nie jest to pewnie na sto procent zabezpieczające ale myślę że jest okey. Jeżeli chodzi o logowanie to bardziej mnie interesuje własny mechanizm sesji zapisywany do bazy. Czy warto stworzyć własny session handler? Na potrzeby strony? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
--edo-- |
![]()
Post
#7
|
Goście ![]() |
Jak to klasa zenda??
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
--edo-- |
![]()
Post
#9
|
Goście ![]() |
Mój cały skrypt logowania. Prosty i krótki.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.09.2025 - 20:27 |