Guest User

Untitled

a guest
Jun 10th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1.  
  2. function server_newpass($id,$port=22) {
  3.  
  4. $link=mysql_pconnect();
  5. mysql_select_db("",$link) or die ("Ошибка соединения с БД!");
  6. mysql_query();
  7.  
  8. //Получаем информацию о игровом сервере
  9. $SERVER_INFO_S = mysql_query("SELECT * FROM servers WHERE id='$id'");
  10. $SERVER_INFO = mysql_fetch_array($SERVER_INFO_S);
  11.  
  12. //Получаем владельца сервера(unix name)
  13. $user=$SERVER_INFO[name];
  14.  
  15. //Получение информации о физическом сервере, где располагается игровой сервер
  16. $DEDIC_INFO_S = mysql_query("SELECT * FROM dedicated WHERE ip='$SERVER_INFO[server]'");
  17. $DEDIC_INFO = mysql_fetch_array($DEDIC_INFO_S);
  18.  
  19. //Подключение к ssh(libssh2)
  20. if(!($con = ssh2_connect("$SERVER_INFO[server]", $port))){
  21. die("fail: unable to establish connection\n");
  22. }
  23. if(!ssh2_auth_password($con, "root", "$DEDIC_INFO[pass]")) {
  24. die("fail: unable to authenticate\n");
  25. }
  26.  
  27. //Массив допустимых символов для генерации пароля
  28. $arr = array('a','b','c','d','e','f',
  29. 'g','h','i','j','k','l',
  30. 'm','n','o','p','r','s',
  31. 't','u','v','x','y','z',
  32. 'A','B','C','D','E','F',
  33. 'G','H','I','J','K','L',
  34. 'M','N','O','P','R','S',
  35. 'T','U','V','X','Y','Z',
  36. '1','2','3','4','5','6',
  37. '7','8','9','0');
  38. // Генерируем пароль
  39. $pass = "";
  40. for($i = 0; $i < 8; $i++)
  41. {
  42. // Вычисляем случайный индекс массива
  43. $index = rand(0, count($arr) - 1);
  44. $pass .= $arr[$index];
  45. }
  46.  
  47. //Меняем пароль и заносим новый пароль в базу данных.
  48. ssh2_exec($con, "echo $pass | passwd --stdin $user");
  49. mysql_query("UPDATE `servers` SET password='$pass' WHERE `id` = '$id'");
  50.  
  51.  
  52. }
Add Comment
Please, Sign In to add comment