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: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%)
|
Zamiast sprawdzania IP użytkownika (co się stanie jeśli użytkownik korzysta z proxy?) korzystaj z ciasteczek (czy istnieje? czy zawiera prawidłowe dane?), sprawdzaj także czy klucz obecnej sesji (session_id()) zgadza się z tym który przypisano użytkownikowi.
Bardziej rozpowszechnionym rozwiązaniem jest przyrównywanie ID użytkownika, a nie jego nicku (sprawdzasz przy rejestracji czy taki już istnieje?) przy wykonywaniu zapytań. Nie musisz mieć funkcji, która wylogowuje, wystarczy że ustawisz odpowiedni czas żywotności sesji. To czy jest to bezpieczny sposób zależy także od tego jak wygląda formularz logowania od strony PHP. |
|
|
|
permanent [PHP] Prosty sposób na uwierzytelnianie użytkownika 19.06.2013, 15:09:17
gitbejbe no to się podpinam, ale odnośnie logowania.
Powi... 20.06.2013, 06:19:59
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: 30.12.2025 - 17:54 |