logowanie do serwera

0

Cześć :)
Na czym w gruncie rzeczy polega logowanie?
Myślę tak:
Jeżeli klient daje poprawne dane to go łączę, a jeżeli nie to przesyłam stosowny komunikat i go rozłączam.
To jest ok czy trzeba inaczje?

0

Tak to wygląda od strony użytkownika.
Od strony programowej zależy od OS, biblioteki, protokołu...

1

zalogowany klient dostaje od serwera to, co jest przeznaczone dla tego klienta, a więc informacje, które są dla niego przeznaczone/które do niego należą.
najprostsze logowanie to przesłanie serwerowi swojej nazwy użytkownika i hasła. serwer ponadto dostaje numer adres sieciowy klienta, od którego wyszło żądanie zalogowania i jeśli podane hasło jest zgodne z tym przypisanym do danego użytkownika, serwer uzna danego klienta za zalogowanego i udostępni(prześle) klientowi pod danym adresem dane, których ten klient zażąda, pod warunkiem, że jest on uprawniony do otrzymania tych danych. będzie to robił do momentu, aż klient zostanie wylogowany, czyli prześle serwerowi odpowiednią informację, albo pozostanie bezczynny przez określony czas(chociaż to drugie nie zawsze-zależy jak to sobie administrator wymyśli i skonfiguruje;D).

niestety, w praktyce nie jest to takie proste ze względu na bezpieczeństwo- posłanie w chmurę niezaszyfrowanego hasła jest, delikatnie mówiąc, mało rozsądne, podobnie jak przesłanie zalogowanemu użytkownikowi poufnych danych w sposób jawny- wszystko musi być zaszyfrowane, tak, aby te dane mogły być użyteczne wyłącznie dla tego, dla kogo są przeznaczone. tak więc zwykłe zalogowanie i przesłanie danych musi być poprzedzone odpowiednim przygotowaniem(handshake), a w trakcie sesji musi następować zmiana kluczy i wzajemne sprawdzanie, czy połączenie jest ciągle i bezpieczne. na wiki fajnie jest opisane szyfrowanie asymetryczne.

zrobienie prostego serwera, umożliwiającego logowanie klientów to dziecinna zabawa i niewiele kodu, ale uczynienie transmisji względnie bezpieczną to już sporo roboty.

1 użytkowników online, w tym zalogowanych: 0, gości: 1