HLDM Форум
https://forum.hldm.org/

api панели
https://forum.hldm.org/viewtopic.php?f=36&t=891
Страница 1 из 2

Автор:  shinobi-sk8 [ 08 мар 2015, 22:18 ]
Заголовок сообщения:  api панели

Добрый день. Кто может знает, есть ли у панели api? в документации не нашёл. (бесплатная версия пу)

Автор:  Nikita [ 08 мар 2015, 22:48 ]
Заголовок сообщения:  Re: api панели

Добрый день. Какой API вам нужен? Внешний через HTTP?

Автор:  shinobi-sk8 [ 08 мар 2015, 23:10 ]
Заголовок сообщения:  Re: api панели

да, именно такой.

Автор:  shinobi-sk8 [ 08 мар 2015, 23:40 ]
Заголовок сообщения:  Re: api панели

нашёл баг: когда запускаем обновление, а оно уже есть в задачах - то кнопка назад ведён на неверный урл (скрины приложил)

Вложения:
2.png
2.png [ 8.83 КБ | Просмотров: 8801 ]
24f00-clip-48kb.jpg
24f00-clip-48kb.jpg [ 47.67 КБ | Просмотров: 8801 ]

Автор:  shinobi-sk8 [ 09 мар 2015, 22:22 ]
Заголовок сообщения:  Re: api панели

и сразу вопрос ещё один надо решить: для пользователя создаётся пароль в какой то кодировке и хэш (это я про базу данных, таблицу юзеров). вопросы:
1. зачем нужен хэш
2. какой алгоритм создания пароля (либо в каком файле глянуть) ?

Автор:  GordonFreeman [ 10 мар 2015, 12:02 ]
Заголовок сообщения:  Re: api панели

shinobi-sk8 писал(а):
2. какой алгоритм создания пароля (либо в каком файле глянуть) ?

Если не ошибаюсь, то в файле application/helpers/safety_helper.php. Функция hash_password.

Автор:  Nikita [ 10 мар 2015, 13:33 ]
Заголовок сообщения:  Re: api панели

1. Это хеш случайной строки, он нужен для авторизации. Если его удалить, то пользователь не будет авторизован, но он появится снова, когда пользователь зайдёт в панель.
2. Алгоритм BlowFish, специально созданный для хеширования паролей, т.к. их подбор уходит гораздо больше времени. Если злоумышленник получит эту строку, то шансы узнать пароль минимальны (даже если пароль не слишком сложный).

Автор:  shinobi-sk8 [ 10 мар 2015, 17:08 ]
Заголовок сообщения:  Re: api панели

благодарю за ответы!

но вопросы остаются:
1. что про апи? есть ли оно?
2. случайной строки? из каких строк берётся эта случайная? и в каком файле идёт проверка этой случайной строки, т.е. в каком файле мне найти код сверки авторизации (хочу изменить, чтоб авторизация была сразу в отдельном моём биллинге и в данной ПУ).
3. в файле application/helpers/safety_helper.php проверяется пароль и для реги и для логина?

Автор:  Nikita [ 10 мар 2015, 17:56 ]
Заголовок сообщения:  Re: api панели

1. Нет, такого API нет. Если интересует вопросы интеграции с чем-то, то пишите, помогу.

2. Рандомная строка, IP и UserAgent.
Это в файле application/models/users.php, метод get_user_hash()
Сам процесс проверки логина и пароля происходит в методе user_auth()

3. В safety_helper.php пароли не проверяются.

Автор:  shinobi-sk8 [ 10 мар 2015, 18:40 ]
Заголовок сообщения:  Re: api панели

благодарю за быстрый ответ, буду разбираться!

Автор:  shinobi-sk8 [ 11 мар 2015, 04:14 ]
Заголовок сообщения:  Re: api панели

с кодом авторизации всё получилось. теперь вопрос - как же создаётся кодированный ркон пароль в базе? я получил мд5 ключ для кодировки, но пойдя дальше начал натыкаться на функцию за функцией по кодировке. можно как то коротко представить функцию по кодировке в базе ркон паролей? один поиска/распутывание цепочки функций убили кучу времени и я понял, что это ппц какой-то =)
я о таблице gameap_servers и о столбце rcon

Автор:  shinobi-sk8 [ 11 мар 2015, 04:15 ]
Заголовок сообщения:  Re: api панели

и вы так и не ответили о баге с 404 страницей

Автор:  shinobi-sk8 [ 11 мар 2015, 04:34 ]
Заголовок сообщения:  Re: api панели

похоже нашёл короткий ответ:

Код:
function add_cipher_noise($data, $key)
{
   $keyhash = sha1($key);
   $keylen = strlen($keyhash);
   $str = '';
   for ($i = 0, $j = 0, $len = strlen($data); $i < $len; ++$i, ++$j)
   {
      if ($j >= $keylen)
      {
         $j = 0;
      }

      $str .= chr((ord($data[$i]) + ord($keyhash[$j])) % 256);
   }
   return $str;
}
$key = '*************************';
$data = '123123';
$init_size = mcrypt_get_iv_size('rijndael-256', 'cbc');
$init_vect = mcrypt_create_iv($init_size, MCRYPT_RAND);
$rcon=base64_encode(add_cipher_noise($init_vect.mcrypt_encrypt('rijndael-256', $key, $data, 'cbc', $init_vect), $key));


посомтрите, пожалуйста, верно ли это?

Автор:  Nikita [ 11 мар 2015, 12:27 ]
Заголовок сообщения:  Re: api панели

Вы зря так глубоко полезли. Все гораздо проще.
В коде контроллера вставьте это:
Код:
$this->load->library('encrypt');

$rcon = '123';
$rcon_encrypt = $this->encrypt->encode($rcon);
echo $rcon_encrypt; // Зашифрованный пароль

$rcon_decrypt = $this->encrypt->decode($rcon_encrypt);
echo $rcon_decrypt; // Расшифрованный пароль


Ключ шифрования находится в application/config/gameap_config.php, параметр $config['encryption_key'].

Автор:  shinobi-sk8 [ 11 мар 2015, 14:07 ]
Заголовок сообщения:  Re: api панели

дело в том, что мне нужно сторонний скрипт написать, не связанный на прямую с пу

Страница 1 из 2 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/