|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.04.2018, 15:07 | #1 |
Регистрация: 29.03.2018
Сообщений: 9
|
ServerSocket свой-чужой
Подскажите как реализовать мою задумку.
Есть у меня проект чата и я хочу реализовать к нему проверку клиентов. Чтобы сервер при подключении клиента запрашивал у него информацию (клиентская часть автоматически отвечала на запрос), если она не верна или отсутствует, то подключение должно разорваться. А то в открытый порт могут писать все кому не лень, а это не очень хорошо. Хоть ссылку на статейку подкиньте, а то не нашел как лучше организовать... |
04.04.2018, 15:44 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Как хотите, так и организовывайте. Например, добавьте в протокол команду 1 с полями логин и пароль. До его прихода отправляйте код ошибки и если в течении какого-то времени не пришло - закрывайте соединение.
|
04.04.2018, 15:51 | #3 |
Регистрация: 29.03.2018
Сообщений: 9
|
Мне бы желательно пример. Ваш вариант к сожалению не подходит, мне нужно для чата. Если к серверу Putty подключить можно его знатно потролить...
|
04.04.2018, 16:04 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Почему не подходит? Что в чате такого специфического?
Нельзя |
04.04.2018, 16:33 | #5 |
Регистрация: 29.03.2018
Сообщений: 9
|
|
04.04.2018, 16:35 | #6 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
И чем же не подходит? Это же классика авторизации. Не хотите по паролю делайте по ключу. Первично делаете вход по паролю и пересылаете ключ, а при повторных заходах используете ключ для входа.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
04.04.2018, 16:46 | #7 |
Регистрация: 29.03.2018
Сообщений: 9
|
Мне не нужна авторизация пользователей, мне просто важно чтобы доступ к серверу имели только клиентские приложения. Если я напрямую через Putty подключаюсь к порту... как мне запретить такое соединения?
|
04.04.2018, 16:51 | #8 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
ВАШЕ приложение оправляет ВАШ КЛЮЧ в пакете с КОДОМ 1, например. Путти его не отправит и его вырубит по таймауту. Это же простейшая логика.
|
04.04.2018, 17:02 | #9 | |
Регистрация: 29.03.2018
Сообщений: 9
|
Цитата:
Чтобы клиент отправил пакет он должен подключиться к серверу, а я хочу проверку на OnAccept сделать... |
|
04.04.2018, 17:03 | #10 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Хорошо обзовём это не авторизацией, а аутентификацией. Алгоритм от этого не изменится.
Или если хотите упростить, то. Можно просто слать заголовок и проверять заголовок если совпадает, то это ваш клиент. Не совпадает разрываем соединение.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ServerSocket | stalker1995s | Общие вопросы Delphi | 3 | 02.01.2013 13:17 |
Есть ли у IdTCPServer такое свойство как у ServerSocket: ServerSocket.Socket.ActiveConnectio ns? | TwiX | Работа с сетью в Delphi | 3 | 07.03.2010 14:28 |
Чужой SysListView32 | W0LF | Win Api | 1 | 24.02.2010 17:19 |
ServerSocket | HTL | Работа с сетью в Delphi | 2 | 02.01.2010 22:40 |