Hauth C4,c5,c6,t1,t1.5
1 ответов473 просмотровСейчас просматривают: 1
· 20.01.2009, 13:04
[attachment=2331:hAuthD.zip]
Цитата
----------
Секция log
----------
Отвечает за сохранение логов.
Auth - сохранять результаты авторизации в файлы
Guard - сохранять сообщения защиты в файлы
All - сохранять в файлы все сообщения из окна
db - сохранять в БД информацию о входе в игру
Таблица (для db=1):
USE [lin2db]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[hauthd_log](
[time] [datetime] NOT NULL,
[account] [varchar](14) NOT NULL,
[ip] [varchar](15) NOT NULL,
[hkey] [varchar](16)
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
-------------
Секция online
-------------
Multiplier - множитель онлайна (к примеру, 1.5)
UserCount - заполнять или нет (0) таблицу user_count
Значение отличное от нуля обозначает интервал в минутах
Interval - интервал в секундах между запросами онлайна у игровых серверов
------------
Секция admin
------------
password - универсальный пароль, позволяющий зайти любым аккаунтом
с обходом всех ограничений (бан, привязка по IP, защита и т.д.)
ip - маска IP при входе с которых разрешено использование универсального пароля.
----------
Секция adv
----------
EULA - отображать (1) или нет (0) EULA при входе (работает не на всех серверах).
test - вход в игру разрешен всем (0) или только избранным (1) из списка Test_IDs.
Помимо списка Test_IDs учитывается значение поля login_flag из таблицы user_account
(вход разрешен при login_flag=16).
C4 - режим совместимости с С4 клиентом (при C4=1).
Не забудьте изменить в секции main параметр BlowfishKey.
Необходимо использовать клиент, который использует чистый C4 протокол авторизации!
MaxConnectionsPerIP - ограничение на число соединений с одного IP.
Это ограничение не на ИГРУ, а на АВТОРИЗАЦИЮ.
Соединение продолжается с момента нажатия кнопки login и до выбора сервера из списка включительно.
AntiDOS - при резком повышении нагрузки (когда сервер уже не успевает обрабатывать все
запросы) включается режим AntiDOS (если параметр установлен в единицу). Режим работает
5 минут и отключается (если атака продолжается, включается опять).
В этом режиме таймауты сведены к минимуму, включаются жесткие ограничения, как по времени
обработки каждого запроса, так и по количеству одновременных запросов с IP подсетей.
AntiBrute - включение секции AntiBrute (защита от перебора паролей)
----------
Секция ext
----------
mask - включают привязку аккаунтов к IP (поле mask в таблице user_account).
Если поле пустое или содержит *, то вход разрешен с любого IP, иначе вход разрешен
только с адресов, подходящих по маске (используется файловая маска с символами * и ?).
Возможен ввод нескольких масок через запятую (пример: 192.168.1.*,192.168.2.*,10.24.7.*)
md5password - использовать хеш на основе md5 для хранения паролей пользователей.
Необходимо наличие поля md5password типа varchar(32) в таблице user_auth.
Если поле пустое, выполняется обычная проверка пароля. Если пароль верный, вычисляется
хеш с использованием md5 и заносится в поле md5password (в поле password заносится 0).
Если поле md5password уже заполнено, выполняется проверка только с использованием md5.
Значение параметра - ключ для получения хеша (задается раз и навсегда!).
Опция отключена, если параметр не задан или равен нулю.
Функция на php для получения хеша (замените 'key' на значение параметра md5password):
<?
function hCrypt($password) {
$md5password='key';
$s=md5($password).md5($md5password);
$j=0;
for ($i=0;$i<strlen($s);$i++) {
if ($j>=strlen($md5password)) $j=0;
$s[$i]=$s[$i]^$md5password[$j];
$j++;
}
return md5($s);
}
?>
Внимание! Используйте эту опцию только в том случае, если до конца понимаете на что идете!
ExecLogin - позволяет при каждой успешной авторизации вызывать процедуру MSSQL.
Если значение 1, hAuthD после всех проверок вызывает hauthd_login (Stored Procedure).
Процедуре передается ID учетной записи (параметр @uid).
Вход в игру блокируется, если процедура возвращает ok со значением 0.
Пример процедуры hauthd_login:
USE [lin2db]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[hauthd_login]
@uid int
AS
SELECT pay_stat AS ok FROM user_account WITH (nolock) WHERE uid=@uid
guard - активирует модуль защиты (актуально только с использованием специальной DLL для клиента)
----------------
Секция AntiBrute
----------------
MaxAttempts - максимальное число попыток входа за интервал времени (interval)
Interval - интервал в секундах для расчета количества попыток входа.
Penalty - интервал в секундах в течение которого вход в игру запрещен (независимо
от того введен правильный пароль или нет) после того, как пользователь сделал
MaxAttempts попыток за Interval секунд.
Секция log
----------
Отвечает за сохранение логов.
Auth - сохранять результаты авторизации в файлы
Guard - сохранять сообщения защиты в файлы
All - сохранять в файлы все сообщения из окна
db - сохранять в БД информацию о входе в игру
Таблица (для db=1):
USE [lin2db]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[hauthd_log](
[time] [datetime] NOT NULL,
[account] [varchar](14) NOT NULL,
[ip] [varchar](15) NOT NULL,
[hkey] [varchar](16)
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
-------------
Секция online
-------------
Multiplier - множитель онлайна (к примеру, 1.5)
UserCount - заполнять или нет (0) таблицу user_count
Значение отличное от нуля обозначает интервал в минутах
Interval - интервал в секундах между запросами онлайна у игровых серверов
------------
Секция admin
------------
password - универсальный пароль, позволяющий зайти любым аккаунтом
с обходом всех ограничений (бан, привязка по IP, защита и т.д.)
ip - маска IP при входе с которых разрешено использование универсального пароля.
----------
Секция adv
----------
EULA - отображать (1) или нет (0) EULA при входе (работает не на всех серверах).
test - вход в игру разрешен всем (0) или только избранным (1) из списка Test_IDs.
Помимо списка Test_IDs учитывается значение поля login_flag из таблицы user_account
(вход разрешен при login_flag=16).
C4 - режим совместимости с С4 клиентом (при C4=1).
Не забудьте изменить в секции main параметр BlowfishKey.
Необходимо использовать клиент, который использует чистый C4 протокол авторизации!
MaxConnectionsPerIP - ограничение на число соединений с одного IP.
Это ограничение не на ИГРУ, а на АВТОРИЗАЦИЮ.
Соединение продолжается с момента нажатия кнопки login и до выбора сервера из списка включительно.
AntiDOS - при резком повышении нагрузки (когда сервер уже не успевает обрабатывать все
запросы) включается режим AntiDOS (если параметр установлен в единицу). Режим работает
5 минут и отключается (если атака продолжается, включается опять).
В этом режиме таймауты сведены к минимуму, включаются жесткие ограничения, как по времени
обработки каждого запроса, так и по количеству одновременных запросов с IP подсетей.
AntiBrute - включение секции AntiBrute (защита от перебора паролей)
----------
Секция ext
----------
mask - включают привязку аккаунтов к IP (поле mask в таблице user_account).
Если поле пустое или содержит *, то вход разрешен с любого IP, иначе вход разрешен
только с адресов, подходящих по маске (используется файловая маска с символами * и ?).
Возможен ввод нескольких масок через запятую (пример: 192.168.1.*,192.168.2.*,10.24.7.*)
md5password - использовать хеш на основе md5 для хранения паролей пользователей.
Необходимо наличие поля md5password типа varchar(32) в таблице user_auth.
Если поле пустое, выполняется обычная проверка пароля. Если пароль верный, вычисляется
хеш с использованием md5 и заносится в поле md5password (в поле password заносится 0).
Если поле md5password уже заполнено, выполняется проверка только с использованием md5.
Значение параметра - ключ для получения хеша (задается раз и навсегда!).
Опция отключена, если параметр не задан или равен нулю.
Функция на php для получения хеша (замените 'key' на значение параметра md5password):
<?
function hCrypt($password) {
$md5password='key';
$s=md5($password).md5($md5password);
$j=0;
for ($i=0;$i<strlen($s);$i++) {
if ($j>=strlen($md5password)) $j=0;
$s[$i]=$s[$i]^$md5password[$j];
$j++;
}
return md5($s);
}
?>
Внимание! Используйте эту опцию только в том случае, если до конца понимаете на что идете!
ExecLogin - позволяет при каждой успешной авторизации вызывать процедуру MSSQL.
Если значение 1, hAuthD после всех проверок вызывает hauthd_login (Stored Procedure).
Процедуре передается ID учетной записи (параметр @uid).
Вход в игру блокируется, если процедура возвращает ok со значением 0.
Пример процедуры hauthd_login:
USE [lin2db]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[hauthd_login]
@uid int
AS
SELECT pay_stat AS ok FROM user_account WITH (nolock) WHERE uid=@uid
guard - активирует модуль защиты (актуально только с использованием специальной DLL для клиента)
----------------
Секция AntiBrute
----------------
MaxAttempts - максимальное число попыток входа за интервал времени (interval)
Interval - интервал в секундах для расчета количества попыток входа.
Penalty - интервал в секундах в течение которого вход в игру запрещен (независимо
от того введен правильный пароль или нет) после того, как пользователь сделал
MaxAttempts попыток за Interval секунд.
— You're an amateur
0
Тема закрыта для ответов

