Событие попытки регистрации нового пользователя.

 

Шаблон события

function OnBeforeRegister(iCID: integer; sMACAddress, sIP, sHardwareID, sCompNetName, sVer, sNick, sLastname, sFirstname, 
                          sSurname: string; iAvatar, iGender: integer; sEmail: string;
                          iRole, iLoginStyle: integer;
                          sDomain, sClientType, sNodeUserAgent, sNodeReferral: string): boolean;
begin
  // your own code  
  
  result := true;
end;
begin
end.

Вместо комментария может быть любой ваш код.

 

Описание параметров

Параметр

Тип

Значение

iCID

integer

Connection ID клиента, уникальный сеансовый идентификатор в онлайн-структуре сетевых подключений к серверу;

sMACAddress

string

MAC адрес сетевого интерфейса пользователя. Может быть пустым, если это не win32 приложение;

sIP

string

IP адрес пользователя;

sHardwareID

string

уникальный номер "железа" пользовательского компьютера, только если это win32 приложение, иначе — пустая строка;

sCompNetName

string

сетевое имя компьютера пользователя (NETBIOS). Только для win32 приложения;

sVer

string

версия клиентского приложения;

sNick

string

ник регистрируемого пользователя;

sLastname

string

фамилия пользователя;

sFirstname

string

имя пользователя;

sSurname

string

отчество пользователя;

iAvatar

integer

номер аватара пользователя, число;

iGender

integer

пол пользователя;

sEmail

string

адрес электронной почты пользователя;

iRole

integer

индекс группы прав пользователя, число;

iLoginStyle

integer

тип аутентификации пользователя;

sDomain

string

имя домена пользователя;

sClientType

string

тип пользовательского приложения;

sNodeUserAgent

string

User Agent браузера пользователя, если это WEB-чат;

sNodeReferral

string

адрес реферальной ссылки, если пользователь регистрируется из WEB-чата.

 

Возвращаемое значение

True, если вы разрешаете попытку регистрации нового пользователя, False — если нет.

 

Пример

const
  sFileName = 'c:\temp\log.txt';
function OnBeforeRegister(iCID: integer; sMACAddress, sIP, sHardwareID, sCompNetName, sVer, sNick, sLastname, sFirstname, 
                          sSurname: string; iAvatar, iGender: integer; sEmail: string;
                          iRole, iLoginStyle: integer;
                          sDomain, sClientType, sNodeUserAgent, sNodeReferral: string): boolean;
  
begin
  DeleteFile(sFileName);
  
  AddLineToFile('CID: ' + inttostr(iCID), sFileName);
  AddLineToFile('MAC: ' + sMACAddress, sFileName);
  AddLineToFile('IP: ' + sIP, sFileName);
  AddLineToFile('HWID: ' + sHardwareID, sFileName);
  AddLineToFile('NetName: ' + sCompNetName, sFileName);
  AddLineToFile('Ver: ' + sVer, sFileName);
  AddLineToFile('Nick: ' + sNick, sFileName);
  AddLineToFile('Lastname: ' + sLastname, sFileName);
  AddLineToFile('Firstname: ' + sFirstname, sFileName);
  AddLineToFile('Surname: ' + sSurname, sFileName);
  AddLineToFile('Avatar: ' + inttostr(iAvatar), sFileName);
  AddLineToFile('Gender: ' + inttostr(iGender), sFileName);
  AddLineToFile('Email: ' + sEmail, sFileName);
  AddLineToFile('Role: ' + inttostr(iRole), sFileName);
  AddLineToFile('LoginStyle: ' + inttostr(iLoginStyle), sFileName);
  AddLineToFile('Domain: ' + sDomain, sFileName);
  AddLineToFile('ClientType: ' + sClientType, sFileName);
  AddLineToFile('UserAgent: ' + sNodeUserAgent, sFileName);
  AddLineToFile('Referral: ' + sNodeReferral, sFileName);
  
  result := true;
end;
begin
end.

Скрипт получает все данные по попытке регистрации пользователя и записывает их в текстовый файл.

 

Результат работы:
 

Скрипт протоколирования данных пользователя, который пытается зарегистрироваться на сервере MyChat

 

Ещё посмотреть

AddLineToFile

DeleteFile

IntToStr