Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 14.02.2009 Ostrzeżenie: (0%)
|
Witam. Mam prostą stronę w PHP z systemem logowania użytkowników, kilkanaście podstron dostępnych po zalogowaniu i wyświetlane są osobne dane dla każdego użytkownika.
Jaki jest dobry, prosty i bezpieczny sposób na uwierzytelnianie użytkownika? Jestem początkujący w PHP i chciałbym spytać czy mój sposób jest poprawny? Plik index.php wyświetla stronę, w nim robię include podszczególnych podstron. Na samym początku mam: W formularzu logowania jeżeli dane z bazą się zgadzają to podstawiam nick pod pierwszą zmienną, druga zmienna to aktualny adres IP, trzecia to informacja o zalogowaniu:
Wcześniej jeszcze mam zdefiniowaną prostą funkcję:
No dobra, teraz przed wyświetleniem strony dla użytkownika robię:
Przykładowe dane dla użytkownika wyciągam w sposób: Dodatkowo mam funkcję, która na bieżąco sprawdza czy poruszamy się na stronie (ostatni ruch). Jeżeli przez 2 godziny nie korzystaliśmy ze strony to automatycznie wylogowywuje:
No i w index.php: Proszę o opinie i rady. Strona jest prosta, jednak zawiera poufne dane użytkowników i nie dopuszczam żadnego włamu na stronę. Skrypt ma być prosty i bezpieczny. Kiedyś przy logowaniu miałem session_register(...), jednak mam nową wersje PHP i tego chyba już się nie używa? Czy cokolwiek zmienić w tym kodzie? Czy jest to na 100% bezpieczny sposób? Pozdrawiam. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%)
|
no to się podpinam, ale odnośnie logowania.
Powiem jak to wygląda z mojej strony i ciekawi mnie czy jest to też dobre rozwiązanie. Każdą zmienną z formularza logowania owijam w htmlspecialchars. logowanie odbywa sie poprzez podania loginu albo maila no i hasła. Tak więc póżniej sprawdzam czy pole loginu to login czy email przez preg_match. jesli ktoś zalogował sie po mailu to mam pewnosc ze uzyl znaków tylko dozwolonych dla maila. jeśli ktoś logosuje się po loginie to sprawdzam też przez preg_match czy są dozwolone znaki. to samo dla hasła. jesli się wsio zgadza, sprawdzam w bazie czy ktoś taki istnieje i go loguje, tworząc przy tym sesje z loginem usera oraz zaszyfrowane ciastko. ciastko składa sie z informacji o przegladarce, ip loginie i pola extra. Za kązdym załadowaniem strony sprawdzam najpierw czy istnieje sesja, później czy istnieje ciastko i czy hash, który sie w nim znajduje jest ok. i to tyle (IMG:style_emoticons/default/questionmark.gif) Ten post edytował gitbejbe 20.06.2013, 06:20:20 |
|
|
|
permanent [PHP] Prosty sposób na uwierzytelnianie użytkownika 19.06.2013, 15:09:17
b4rt3kk Zamiast sprawdzania IP użytkownika (co się stanie ... 19.06.2013, 15:31:10
nospor CytatKażdą zmienną z formularza logowania owijam w... 20.06.2013, 11:13:10
gitbejbe co do "owijania" to mam taki przezorny n... 20.06.2013, 11:47:41
nospor Cytatco do "owijania" to mam taki przezo... 20.06.2013, 11:58:58
Damonsson Ale po co jakaś walidacja hasła, choćbyś nawet zab... 20.06.2013, 12:00:15
gitbejbe dobra dobra, nie wymiguj się ;p
nie mam zamiaru po... 20.06.2013, 12:03:57 
b4rt3kk Cytat(gitbejbe @ 20.06.2013, 13:03:57... 20.06.2013, 12:11:54
nospor Cytat, to chętnie je przeczytam jeśli będą wnosić ... 20.06.2013, 12:08:11
Damonsson A na przykład o bindowaniu zapytań sql słyszał? 20.06.2013, 12:10:22
gitbejbe fakt, pominąłem wzmiankę o kodowaniu hasła.
dobra... 20.06.2013, 12:21:07
nospor CytatRobię to aby wyeliminować głównie niebezpiecz... 20.06.2013, 12:51:57 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 16:48 |