Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> system autoryzacji uzytkownika
xamil
post
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 9.01.2005

Ostrzeżenie: (0%)
-----


Ogólnie jakie metody polecacie aby było dobrze i bezpiecznie;)

Kiedyś dawno temu tak sobie rozpisałem to co wymyśliłem:

Cytat
zdarzenia:
  [ok]powitanie "Proszę się zalogować aby uzyskać dostęp do bazy"
  [ok]nie_podanie_loginu_lub_hasla -> powitanie -> spróbuj_wylogować_jak_nie_to_trudno;) -> usun_klucz
  [ok]wylogowanie_poprawne "Użytkownik "{user_login}" został wylogowany" -> wyloguj -> usun_klucz
  wylogowanie_błędne (ktoś naciska np. przycisk wylogowania a już jest wylogowany)
  klucz_istnieje
    [ok]klucz_poprawny wyświetlamy komunikat "Użytkownik "{user_login}" jest już wylogowany" -> usun_klucz
    [error]klucz_niepoprawny "Próba nieautoryzowanego dostępu do bazy" i -> odrzuc_ip (Musi to być bo ktoś może przelecieć wszystkie klucze a przez to zamykać uzytkownikom dostęp do serwisu. Mało tego wyłapie klucze.)
  [ok]klucz_sesji_nie_istnieje -> powitanie
  błędne_logowanie
  [error]błędny_login "Błędny "Użytkownik" lub "Hasło"" -> odrzuc_ip
  [error]błędne_hasło -> błędny_login -> odrzuc_uzytkownika (to będzie max jakieś 5 prób) -> odrzuc_ip
  [ok]brak_aktywności "Brak aktywności przez co najmniej "{sekundy}" sekund, proszę się zalogować ponownie" -> wyloguj -> usuń klucz
  [ok]proba_wejscia_do_systemu_bez_klucza najpierw sprawdzam przez cookie lub $_GET czy klucz istnieje i jak nie to -> powitanie
  [error]proba_wejscia_do_systemu_z_błędnym_kluczem ->(wylogowanie_bledne->klucz_istnieje->klucz_niepoprawny) -> odrzuc_ip
  proba_wejscia_na_zablokowane_konto
  [error]błędne_hasło  "Dostęp do bazy z tego IP został zablokowany, proszę spróbować ponownie {Y-m-d} o {H:i}" -> odrzuc_uzytkownika -> odrzuc_ip
  [error]poprawne_dane  "Dostęp do bazy z tego IP został zablokowany, proszę spróbować ponownie {Y-m-d} o {H:i}"
  [error]proba_wejscia_z_zablokowanym_ip ->(próba_wejscia_na_zablokowan_konto->błędne_hasło) oraz każde odświerz powoduje -> odrzuc_ip
  [error]błędne_ip ->odrzuć_ip "Błędne IP, proszę zalogować się ponownie" nie wylogowywać!


Znaczniki error i ok to to czy straszymy użytkownika że wystąpił błąd i po drugie czy podejmujemy środki zabezpieczające np. dodanie ip. do listy banowanych ip. Oczywiście musi zostać przekroczona określona ilość prób.

Czyli głównie chodzi o to, że przechowujemy klucz sesji danej osoby w bazie i porównujemy z tym kluczem którym przedstawia się user. Jeśli się nie zgadza to oczywiście się nie dostaje oraz jego ip dostaje się na czarną liste ip.

Co wy o tym sądzicie? Jak wy byście to rozegrali? Czyli jak zabezpieczyć i autoryzowac user'ow?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Master Miko
post
Post #2





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat
Właśnie. Chodzi o to, że sprawdzając automatcznie podbijałbym licznik prób wejścia z błędnym kluczem z tego ip. Przy powiedzmy 100 odrzucałbym to ip na powiedzmy 2h. Bez tego gościu może zapuścić skypt i łączyć się bez końca.

No własnie nie za bardzo!

Wg Ciebie patrz:

Użytkownik loguje się user: a haslo: b -> poprawnie ma id sesji c -> za każdym razem chodzi po stronie i baza danych sprawdza czy ma dobre dane a i b z sesji c
Hacker przechwytuje sesję c -> jego parametrami są a i b -> chodzi po stronie -> baza danych POTWIERDZA, że to jest prawdziwy użytkownik

Jeśli zapiszesz IP w bazie danych to będzie głupie, bo użytkownik np. nie będzie mógł wejść z kafejki internetowej

a teraz jak ja to widzę:

Użytkownik z IP d loguje się (user: a) (haslo: B ). IP o nazwie d zapisuje się w sesji-> poprawnie ma id sesji c -> za każdym razem chodzi po stronie i skrypt sprawdza czy jego aktualny IP ( d ) zgadza się z tym z sesji c -> chodzi normalnie po stronie -> skrypt patrzy czy TYLKO jest ustawiona sesja i jej parametry: login i hasło. Skrypt nie patrzy czy są to poprawne bo sprawdził wcześniej! Nie da się zmienić parametrów sesji bez ingerencji skryptu, więc użytkownik jest 100% legal.

Hacker z IP e przechwytuje sesję c -> jego parametrami są a i b i z sesji parametr d -> chodzi po stronie -> skrypt wykrywa że jego IP e nie jest równe IP z sesji d. Wywala go (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Zabezpieczenie na akademika? Regeneracja sesji co 4 ruchy na stronie i automatyczne wylogowanie się po 2 minutach bezczynności

Ten post edytował Master Miko 18.05.2006, 11:24:27
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 15:03