Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как оборвать свзь с клиентом у которого, левый ip_address [D6, WinXP]


kivadim ©   (2005-10-12 14:27:00) 

Народ расскажите как правильно сделать.
Надо при попытке клиента приконнектиться к серверу проверь ip_address клиента и если он не содержиться в списке разрешенных адресов то оборвать соединение с клиентом. Думаю что надо проверять все это дело в событии
ServerSocket1Accept, но как определять ip_address подлючающегося клиента если клиентов несколько и соответственно ServerSocket1.Socket.Connections[] клиента не известно?
Использую TServerSocket и TClientSocket в режиме stNonBlocking.


atruhin   (2005-10-12 17:13:00) [1]

>> а как тогда вообще не допустить такого клиента к подключению?
Winsock2 -> WSAAccept


Digitman   (2005-10-12 15:29:00) [2]

а ему и "пихать" не надо ..

достаточно послать кучу SYN-пакетов серверу, чтобы тот, никак не готовый к такому повороту дела, рухнул как колосс на глиняных ногах


kivadim   (2005-10-12 15:14:00) [3]

>> -=S..S=-   (12.10.05 14:32) [1]
Так конечно работает, но клиент всетаки успевает запихнуть в сокет кое-какие данные, а было бы лучше если б он вообще ничего не смог записать в сокет.


kivadim   (2005-10-12 15:00:00) [4]

>> Digitman ©   (12.10.05 14:40) [2]
Согласен, а как тогда вообще не допустить такого клиента к подключению?


Digitman   (2005-10-12 14:40:00) [5]

злонамеренный клиент при таком подходе легко обрушит твой сервер.


-=S..S=-   (2005-10-12 14:32:00) [6]

В онконнект
есть переменная Socket с этой переменной берёшь айпи если не подходит
Socket.Close


Наверх

Титульная страница Поиск, карта сайта Написать письмо