![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#421 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Сообщение #404, там все описано. При идентификации, в Case 1: должна быть проверка на админа, ...все админы в файле, читаем файл по строкам, сверяем с ником клиента, есть совпадение ника и IP-адреса, значит он админ, делаем пометку админа, ...все! он админ, пока на связи.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#422 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
![]()
В посте #410 у вас в коде цикл
Код:
Цитата:
Как правельно отослать на клиента команду бан/разбан при удалённом управлении Код:
Последний раз редактировалось Shouldercannon; 09.06.2010 в 09:57. |
|
![]() |
![]() |
![]() |
#423 |
Регистрация: 18.05.2010
Сообщений: 7
|
![]()
Люди помогите где здесь ошибка
procedure TForm1.htmlLite1ImageClick(Sender, Obj: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var st:string; begin st:=stringreplace (TImageObj(Obj).Source,extractfilep ath(application.exename)+'img\',' *',[]); st:=stringreplace(st,'.gif',' ',[]); if (Obj is TImageObj) then Memo1.SelText:=st; end; и еще как сделать бан систему и регистрацию в чате оч надо |
![]() |
![]() |
![]() |
#424 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#425 | ||
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
morfey, не засоряйте тему сторонними вопросами и кодами. Если вам попутно нужно что-то править, это не значит, что в этой теме можно спрашивать подобное, ...вообще не известно что за процедура, что она делает с рисунком, и какого типа ошибка. Совет - начать учиться программированию, с вопросами в раздел "Помощь студентам", там всем "оч надо".
Shouldercannon, в посте #410 примеры правильного написания кода, если хотите чтобы ошибки находились быстро и самостоятельно. Цикл взят с потолка, просто показать как он должен быть записан, от назначения с началом и концом. Цитата:
Цитата:
Код:
Что касается сервера, ...у него есть список подключившихся, мышью выбираем клиента (так же как и в привате), в цикле ищем имя в массиве UserMas[j].Name, по совпадению отправляем пакет так же, но по j, почему? ...массив числится от 0 до ActiveConnections-1.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 09.06.2010 в 16:34. |
||
![]() |
![]() |
![]() |
#426 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
![]() Цитата:
Код:
Код:
|
|
![]() |
![]() |
![]() |
#427 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Проверка на админа в таймере в Case 1:
Код:
Придется админу делать отдельный запрос на администрирование, и это будет правильно, ...не обязательно пользователь сразу хочет быть админом, путь нажимает кнопку "администрирование", в кнопке запрос по коду "8", сервер пусть принимает и проверяет сначала запись UserMas[i].Admin, если она истинна, то отправляет уже ему пакет с разрешением удаленного администрирования.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 10.06.2010 в 00:01. |
![]() |
![]() |
![]() |
#428 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
![]() Цитата:
Код:
Цикл в любом случае офрмлять так, даже если между begin и end одна строка кода? Код:
Количество команд перевалило за 9, сделал оптимизацию: 4 - запрет входа в чат (проверка диапазона) 5 - 0 (разбанить), 1 (забанить), 2 (автобан) 6 - 0 (деактивировать админку), 1 (активировать админку) Последний раз редактировалось Shouldercannon; 10.06.2010 в 15:47. |
|
![]() |
![]() |
![]() |
#429 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Возможность удаленного администрирования проверяется сервером сразу, а вот запрос на администрирование выполняется пользователем вручную. Как еще объяснить, ...вот вы зашли на этот форум, как гость, затем сами вводите данные, сервер вас принимает уже как пользователя, ...а если у вас есть права модератора, то ваши команды будут выполняться только по запросу, некоторые функции требуют дополнительного запроса, ...это и есть разграничение по уровням доступа и проверка на каждом. Нельзя сразу давать все права на все действия, ...если хотите чтобы сервер был устойчив к взлому, вводите уровни доступа, и пусть клиенты спрашивают, что они хотят сделать, а сервер после проверки будет вести лог, кто на какой уровень делал запрос, так вы увидите попытки получить управление, и вычислите пользователей.
Если нужно расширить код команд, вводите второй байт, кодировка изменится таким образом: 00 - 09, 10 - 19, 20 - 29 и так до 99, первый байт отвечает за тип команды, второй - за вид, например: 0 - тип передачи пакетов пользователей, подтипы: 0 - сообщение, 1 - приватное сообщение, 2 - файл; 1 - тип идентификации пользователей, подтипы: 0 - запрос сервера на ник, 1 - ответ пользователя, 2 - список пользователей; 2 - тип удаленного администрирования, подтипы: 0 - запрос пользователя на администрирование, 1 - разрешение сервера на администрирование, 2 - передача администратора предупреждения для пользователя, 3 - запрос администратора на блок пользователя, 4 - запрос администратора на отключение пользователя; и т.д. и тп.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#430 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
![]()
Чёрт с ним пусть будет активация в ручную, главное чтобы стабильно работало.
1. Что можете сказать по поводу реализации бан/разбан, дать/забрать админку в прикреплённом файле? 2. Не понятно. Цитата:
3. При даче/отнятии админки придётся пересматривать флаг UserMas[i].Admin := True;. Допустим, пришёл юзер и определился как админ UserMas[i].Admin := True; и через 5 мин у него забирают админку, отсылая командку 60, а так как до этого произошло UserMas[i].Admin := True;, то получается что при очередной проверке на администратора он снова будет админом при условии того, что во время снятия с админства он был в чате. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обновление в блоге - Создание клиент-сервера | Pblog | Обсуждение статей | 0 | 03.10.2007 17:12 |
обновление в блоге - Диплом. Создание и продвижение сайта - готовь сани летом, а дипл | Pblog | Обсуждение статей | 0 | 31.08.2007 20:00 |
обновление в блоге - USB Холодильник | Pblog | Обсуждение статей | 0 | 25.06.2007 14:13 |
обновление в блоге - О ярлыках | Pblog | Обсуждение статей | 0 | 27.05.2007 03:17 |