- Поддерживаемые игры
-
- CS: Source (OrangeBox)
- CS: Source (v34)
Защищает Ваш админский стим ид от подмены, путем логина и пароля из таблицы системы SourceBans.
Перед тем как зайти нужно написать в консоли, либо сразу закинуть в autoexec.cfg:
setinfo <1> <2>, где 1 - это Ваш логин в системе, 2 - пароль.
Хочу заметить, что пароль не от учетной записи, а тот, который Вы введете в детальных настройках админа после установки.
Установка:
Ну, во-первых, файлы плагина нужно раскидать по папкам. Думаю, что ни у кого трудностей с этим не выйдет.
В databases.cfg нужно добавить:
Во-вторых, веб часть. Договоримся, что картинки, на которые я буду ссылаться, находятся в архиве в папке image.
Предисловие. Почему нельзя просто использовать пароль от учетной записи системы? Все очень просто: Одинаковые пароли уже не есть хорошо; в серверной части недоступен механизм шифрования, который используется разрабами для шифрования пароля (sha1), но зато доступен другой. Мы будем использовать md5 + соль.
Для начала, отредактируем таблицу "sb_admins", добавив новое поле "protect", в котором и будет хранится наш пароль. Тип - varchar, размер - 128. В Navicat`е это выглядит как на картинке 1.
Далее, нужно изменить файлы системы, чтобы можно было устанавливать пароль. Как это сделать есть в архиве в текстовом файле Task.txt, но я продублирую и тут.
Хочу подчеркнуть, что "готовые файлы" в архиве сделаны из свежескаченной сборки с сайта разработчиков, но тем не менее, возможно, Вам помогут разобраться.
Ничего сложного нет, если включить голову. В итоге у нас появится штука, изображенная на рисунке 2. Это и есть наш пароль, который нужно писать в клиенте
P.S.И еще кое что. Я протестировал плагин только на OB версии CSS и он 100% работает. Владельцам серверов более старой версии просьба проверить у себя, т.к. в основном он будет полезен именно для Вас. Предложения, замечания и критика приветствуются в разумной мере.
Перед тем как зайти нужно написать в консоли, либо сразу закинуть в autoexec.cfg:
setinfo <1> <2>, где 1 - это Ваш логин в системе, 2 - пароль.
Хочу заметить, что пароль не от учетной записи, а тот, который Вы введете в детальных настройках админа после установки.
Установка:
Ну, во-первых, файлы плагина нужно раскидать по папкам. Думаю, что ни у кого трудностей с этим не выйдет.
В databases.cfg нужно добавить:
PHP:
"Protect"
{
"driver" "mysql"
"database" "Ваша база SB"
"user" "Ваш логин от базы"
"pass" "Ваш пароль от базы"
}
Предисловие. Почему нельзя просто использовать пароль от учетной записи системы? Все очень просто: Одинаковые пароли уже не есть хорошо; в серверной части недоступен механизм шифрования, который используется разрабами для шифрования пароля (sha1), но зато доступен другой. Мы будем использовать md5 + соль.
Для начала, отредактируем таблицу "sb_admins", добавив новое поле "protect", в котором и будет хранится наш пароль. Тип - varchar, размер - 128. В Navicat`е это выглядит как на картинке 1.
Далее, нужно изменить файлы системы, чтобы можно было устанавливать пароль. Как это сделать есть в архиве в текстовом файле Task.txt, но я продублирую и тут.
Открываем файл шаблона с названием page_admin_edit_admins_details.tpl.
Через поиск (Ктрл+ф3) находим {/if} и вставляем ПЕРЕД ним код:
Открываем includes/СUserManager.php.
После функции encrypt_password, на всякий случай ее код:
Вставляем похожую функцию:
Самые большие изменения потерпит файл admin.edit.admindetails.php, что находится в папке pages.
ПЕРЕД:
Вставляем
ПЕРЕД
Дописываем:
И последний простенький шаг: ПОСЛЕ
рисуем
Через поиск (Ктрл+ф3) находим {/if} и вставляем ПЕРЕД ним код:
C-подобный:
<tr>
<tr>
<td valign="top"><div class="rowdesc">{help_icon title="Protect Steamid" message="Type your password again to confirm."}SteamId Protect</div></td>
<td>
<div align="left">
<input type="password" class="submit-fields" id="protect" name="protect" />
</div>
</tr>
После функции encrypt_password, на всякий случай ее код:
C-подобный:
function encrypt_password($password, $salt=SB_SALT)
{
return sha1(sha1($salt . $password));
}
C-подобный:
function encrypt_password2($password, $salt, $salt1)
{
return md5($password . $salt . $salt1);
}
ПЕРЕД:
C-подобный:
}
// Only proceed, if there are no errors in the form
if($error == 0)
{
C-подобный:
if(!empty($_POST['protect']))
{
$protect_changed = true;
if(strlen($_POST['protect']) < 3)
{
$error++;
$errorScript .= "$('protect.msg').innerHTML = 'Your password must be at-least 3 characters long.';";
$errorScript .= "$('protect.msg').setStyle('display', 'block');";
}
}
C-подобный:
// set the basic fields
$edit = $GLOBALS['db']->Execute("UPDATE ".DB_PREFIX."_admins SET
`user` = ?, `authid` = ?, `email` = ?
WHERE `aid` = ?", array($a_name, $a_steam, $a_email, $_GET['id']));
C-подобный:
if($protect_changed)
{
$name = $_POST['adminname'];
$edit = $GLOBALS['db']->Execute("UPDATE ".DB_PREFIX."_admins SET
`protect` = ?
WHERE `aid` = ?", array($userbank->encrypt_password2($_POST['protect'], $name[0], $name[2]), $_GET['id']));
}
C-подобный:
$serverpw_changed = false;
C-подобный:
$protect_changed = false;
Хочу подчеркнуть, что "готовые файлы" в архиве сделаны из свежескаченной сборки с сайта разработчиков, но тем не менее, возможно, Вам помогут разобраться.
Ничего сложного нет, если включить голову. В итоге у нас появится штука, изображенная на рисунке 2. Это и есть наш пароль, который нужно писать в клиенте
P.S.И еще кое что. Я протестировал плагин только на OB версии CSS и он 100% работает. Владельцам серверов более старой версии просьба проверить у себя, т.к. в основном он будет полезен именно для Вас. Предложения, замечания и критика приветствуются в разумной мере.
- Требования
- Переменные
-
ps_ban - При "1" будет банить тех, кто попытался зайти с подменой. Бан по IP.
ps_ban_time - Длительность бана в минутах. Не имеет смысла ставить 0, так как далеко не у всех статичный IP. Это лишь усложнит жизнь "мего-хацкеру".
ps_logs_dir - директория логов относительно cstrike. Каждый день там будет появлятся файл и будут совершаться записи о успешном или не очень заходе админов на сервер.
ps_serverid - сервер ID для этого сервера. Находится в cfg системы. Я не совсем понял структуру, но вроде бы если -1, то все админы, что зареганы в SB имеют там админ права. Если иное число, то только те админы, у которых стоит "галочка" напротив этого сервера в SB. Поправьте, если не прав.