Форум Pawn.Wiki - Воплоти мечту в реальность!: VK Security - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

  • (5 Страниц) +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

VK Security Cистема защиты игрового аккаунта Оценка: ****- 1 Голосов

#1
Пользователь офлайн   Examplio 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Изображение

VK Security – это продвинутая и свежая система которая обеспечит безопасность игровых аккаунтов пользователей.


Примечание: для работы Вам потребуется доступный для внешних подключений сайт ( не localhost )

Особенности:

  • Удобные кнопки: "Подтвердить" , "Заблокировать" которые позволят комфортно подтверждать входы.
  • Несколько типов работы системы: "Запрашивать всегда" , "Запрашивать при смене IP".
  • Подтверждение прямо через ВКонтакте.
  • Долгосрочное хранение всех успешных и неудачных попыток входа.
  • Отображение даты и рекомендации по обеспечению безопасности аккаунта.


Установка pawn части:

  • Скачать файл локализации (.lang) на нужном вам языке – ( _vk_security_en.lang или _vk_security_ru.lang )
  • Переместить файл локализации и инклуд файл в pawno -> include. ( Иное используемое пространство )
  • Задействовать в скрипт в Вашем игровом моде. ( Файл: VK_Security.inc )

    #define DOMAIN "example.com"
    #include <VK_Security>

    Важно: если файлы бота находятся в директории, следует указывать её название. Пример: #define DOMAIN "example.com/Secure"

  • Скомпилировать игровой режим (F5)

  • Установка бота:

    • Открыть файл: client/config/_config.php , указать токен группы с правами: messages. Строка: 3 (смотр. рисунки);
    • Указать подтверждающий ключ. Строка: 4 ( смотр. рисунки )
    • Ввести Ваши данные для подключения к базе данных. Строка: 7-10.
    • Сохранить и закрыть файл config.php.
    • Перенести содержимое папки: "VK_API" на Ваш сайт.


  • Подробная инструкция об установке CallBack API сервера и получение токена:

    • Заходим в группу, через которую будет работать наш бот.
    • Переходим в Управление -> Работа с API -> Создать ключ. (Создаем ключ с правами на сообщения сообщества )
    • После получения ключа, его следует указать в client/config/_config.php, строка: 3. (Из 1 пункта предыдущего листа )
    • После процедуры переходим во вкладку "Callback API".
    • Выбираем последнюю версию API -> 5.131.
    • В "адрес" указываем прямую ссылку на файл _main.php на Вашем сайте. ( Пример: example.com/_main.php )
    • Находим: "Строка которую должен вернуть сервер", копируем и вставляем его как подтверждающий ключ в файл client/config/config.php , строка: 4.
    • Сохраняем файл _config.php и обновляем его на сайте. После чего нажимаем: "Подтвердить".
    • Если Вы все сделали правильно, то ВК подтвердит Ваш сайт.
    • Если у Вас не получается, Вы можете обратится за помощью ко мне. Написав тут или в личные сообщения ВКонтакте.


Скриншоты / Картинки:


Функции:

  • VK_SetMySQLHandle(handle) Обязательно указать в моде!

    handle – id подключения к базе данных, пример:
    quid = mysql_connect(..);
    VK_SetMySQLHandle(quid);


  • VK_IsConfirmed(playerid)

    playerid – Возвращает информацию активирована ли защита у определенного игрока. (true/false)

  • VK_isLogged(playerid)

    playerid – Возвращает информацию подтвердил ли вход человек через ВК. (true/false)

  • VK_SetNewName(playerid, name[])

    playerid – Ид игрока которому будет установлен новый ник в базе. Полезно когда человек меняет ник и нужно обновить это у скрипта.
    name - строка, новый ник игрока.

  • VK_ShowMain(playerid)

    playerid – человек которому будет отображено главное меню с возможностью смены типом входа и отвязкой.
    Будет отображено только в том случае, если у человека подтверждена страница.

  • VK_ShowConfirmation(playerid)

    playerid – человек которому будет отображен диалог с дальнейшей привязкой игрового аккаунта с профилем ВКонтакте.

  • VK_ShowAuthWindow(playerid)

    playerid – человек которому будет отображен диалог, для подтверждения входа

    Важно: скрыть диалог не является возможным, при нажатии "ОК" он будет показан вновь, он будет спрятан после нажатия на клавишу "Подтвердить", в полученном сообщении от сообщества. Саму проверку на идентификацию в открытом диалоге следует сделать самостоятельно (обходы , читы).


События:
  • Событие: Нажатие на "Подтвердить" в диалоге с группой. Название события: VK_OnLoginDetected
    Где-то в моде после инклуда скрипта:
    forward VK_OnLoginDetected ( playerid );
    public VK_OnLoginDetected ( playerid ) {
          // действия, код...
          // SpawnPlayer ( playerid ); например
    }
    


Скачать: (Актуально: 11.05.2022)

Сообщение отредактировал Romzes: 11 мая 2022 - 01:23

9

#2
Пользователь офлайн   continue 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
1) Довольно странное указания handle для mysql функций (У меня может быть открыто несколько соединений к разным базам данным). Куда лучше передавать их из мода. Что-то типа:

static MySQL: g_vk_secturity_mysql_handle;

stock VK_SetMySQLHandle(MySQL:handle)
{
    g_vk_secturity_mysql_handle = handle;
    return 1;
}


2) Если это библиотека (а это библиотека же?), то стоит задуматься о том, чтобы было удобней задавать иды диалогов (#if !defined ...)

static_enum {
	D_MAIN_PANEL,
	D_VK_CONFIRMATION,
	D_VK_CONFIRMATION_1,
	D_VK_CONFIRMATION_DECLINE,
	D_VK_AUTH_WINDOW
};


3) Не особо разбирался в структуре БД, но почему обновления по нику? (ник может менять - pid игрока нет)

UPDATE `vk_security` SET `u_code` = '%i' WHERE `u_name` = '%s'


4) Максимально странные названия коллбэков:

        public _Info(index, response_code, data[]) 
public _Info_(index, response_code, data[])
_RealTime_Info 


forward _Info(index, response_code, data[]);
0

#3
Пользователь офлайн   Examplio 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияcontinue (03 ноября 2021 - 10:01) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


Учту Ваши соображения, в обновлении наверстаю упущенное.

Что касаемо:
1) Да, действительно у пользователя может быть несколько подключений, изначально планировал передачу из мода, но потом замял эту тему и оставил дефолтное подключение. В обновлении добавлю, спасибо.
3) Верно, однако я не пошел на это потому что думал, будет напряжно в подключении для некоторых пользователей и решил оставить по "ник нейму", более того планировал перехватывать SetPlayerName, однако не все её используют. Думаю так же в обновлении сделаю так.
4) Ну тут как кому, возможно, для читабельности оно не очень, мне так было проще идентифицировать первые и вторые коллбэки, но во имя читабельности подойду к этому более тщательно.

Спасибо большое.
0

#4
Пользователь офлайн   Examplio 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Подниму
0

#5
Пользователь офлайн   Examplio 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
UP
0

#6
Пользователь офлайн   execution88 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Не стоит использовать массив static_Timer как char, потому что id таймера может быть больше 255
0

#7
Пользователь офлайн   Examplio 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияexecution88 (07 ноября 2021 - 22:55) писал:

Не стоит использовать массив static_Timer как char, потому что id таймера может быть больше 255


Спасибо большое, будет исправлено в ближайшем обновлении системы. =)
0

#8
Пользователь офлайн   NiceXPlayer 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
+ за интересную систему. Когда выйдет обновление?
0

#9
Пользователь офлайн   Alfedov.dev 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
:yes:

Сообщение отредактировал Alfedov.dev: 10 ноября 2021 - 16:43

0

#10
Пользователь офлайн   Examplio 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияNiceXPlayer (09 ноября 2021 - 23:41) писал:

+ за интересную систему. Когда выйдет обновление?


Сегодня вечером или крайний срок - завтра. Спасибо больше за поддержку)
0

Поделиться темой:


  • (5 Страниц) +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика