Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function server_newpass($id,$port=22) {
- $link=mysql_pconnect();
- mysql_select_db("",$link) or die ("Ошибка соединения с БД!");
- mysql_query();
- //Получаем информацию о игровом сервере
- $SERVER_INFO_S = mysql_query("SELECT * FROM servers WHERE id='$id'");
- $SERVER_INFO = mysql_fetch_array($SERVER_INFO_S);
- //Получаем владельца сервера(unix name)
- $user=$SERVER_INFO[name];
- //Получение информации о физическом сервере, где располагается игровой сервер
- $DEDIC_INFO_S = mysql_query("SELECT * FROM dedicated WHERE ip='$SERVER_INFO[server]'");
- $DEDIC_INFO = mysql_fetch_array($DEDIC_INFO_S);
- //Подключение к ssh(libssh2)
- if(!($con = ssh2_connect("$SERVER_INFO[server]", $port))){
- die("fail: unable to establish connection\n");
- }
- if(!ssh2_auth_password($con, "root", "$DEDIC_INFO[pass]")) {
- die("fail: unable to authenticate\n");
- }
- //Массив допустимых символов для генерации пароля
- $arr = array('a','b','c','d','e','f',
- 'g','h','i','j','k','l',
- 'm','n','o','p','r','s',
- 't','u','v','x','y','z',
- 'A','B','C','D','E','F',
- 'G','H','I','J','K','L',
- 'M','N','O','P','R','S',
- 'T','U','V','X','Y','Z',
- '1','2','3','4','5','6',
- '7','8','9','0');
- // Генерируем пароль
- $pass = "";
- for($i = 0; $i < 8; $i++)
- {
- // Вычисляем случайный индекс массива
- $index = rand(0, count($arr) - 1);
- $pass .= $arr[$index];
- }
- //Меняем пароль и заносим новый пароль в базу данных.
- ssh2_exec($con, "echo $pass | passwd --stdin $user");
- mysql_query("UPDATE `servers` SET password='$pass' WHERE `id` = '$id'");
- }
Add Comment
Please, Sign In to add comment