TSocket/Client -hasło dostępu

0

Mam takie pytanie:
wiem jak połączyć Clienta z Serverem przez gniazda podając ip/host i numer portu na jakim owy server pracuje.

Ale dodatkowo chciał bym dodać kolejny parametr jakim byłoby hasło dostępu broniące server przed podłączeniem niechcianych Clientów.
Podawało by się je przed postawieniem servera i przed podłaczeniem do niego przez Clienta

Jak do tego powinienem się zabrać?

0

nie wiem czy jest w socketach taka mozliwosc... ja w kazdym razie tego nigdy nie robilem. ale mam pewien pomysl, a mianowicie moglbys zrobic to tak ze haslo trzeba podac po polaczeniu. wtedy wpisane haslo zostaje przeslane do serwera, ten zas sprawdza w konfiguracji i jezeli autoryzacja sie powiedzie udostepnia klientowi opcje (to co tam w ogole ten program ma robic), a jak nie to go rozlacza albo jakis komunikat wywala i po kilku nieudanych probach rozlacza.

0

czegoś takiego nie zrobisz bez połączenia się z serwerem, bo jest to niemożliwe, ale przecież możesz zablokować niektóre przychodzące IP lub hosty.

0

przecież możesz zablokować niektóre przychodzące IP lub hosty.

Nie chcę nic blokować.....
Ma być tylko autoryzacja, czyli ma połaczyć się z serverem i sprawdzić czy wpisane hasło odpowiada temu które jest w Serverze, jeśli nie to wywala komunikat <ort>rozłancza </ort>natychmiast...tyle

Pozdrawiam wszystkich piszących swoje własne "mini" trojany/programy administracyjne [diabel]

// :| - ŁF

0

chlopaki... przeciez dokladnie to napisalem na poczatku ;)

0

Jest to mozliwe, nawet zaczalem ci to pisac, ale pisalbym to okolo 3 godziny, a ze nie mam tyle czasu, to nie napisalem :-8

0

3 godziny .. hmm

if Socket.RecvText = 'haslo' then begin
  Socket.SendStr('kewl, haslo pasuje i w ogole');
  SetLength(AuthorizedClients, Length(AuthorizedClients) + 1); {Array of T...Socket}
  AuthorizedClients[High(AuthorizedClients)] := Socket;
  //zalogowany
end else begin
  Socket.SendStr('Sry, ale zle haslo!'); //Opcjonalnie
  Socket.Close;
  //zle haslo
end;

Pisane na miejscu, wiec nie sprawdzalem, ale masz zaczepienie. Po tej operacji, w tablicy AuthorizedClients masz liste 'zalogowanych' userow. Takie trudne?

Oczywiscie lepiej to zrobic na rekordach (bo niektorzy zaczna sie czepiac zaraz) ale chcialem pokazac, ze nie jest to temat, nad ktorym nalezy sie kilka tygodni zastanawiac.

tam w kwadratowych nawiasach podaje sie numer klienta(w kolejnosci podlaczania sie ich) wiec do tej listy podlaczonych userow powinny byc przypisywane kolejne liczby(od 0 w górę).

Nie wiem o co ci biega, tzn wiem, ale nie wiem jaki to ma zwiazek z tym przykladem.

0

Dobra, ja tam to pisalem bardziej skomplikowanym sposobem(i skuteczniejszym) poza tym klientow sie rozlacza tak ServerSocket.Socket.Connections[].Close;

tam w kwadratowych nawiasach podaje sie numer klienta(w kolejnosci podlaczania sie ich) wiec do tej listy podlaczonych userow powinny byc przypisywane kolejne liczby(od 0 w górę).

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