Sign in to follow this  
Followers 0
W1nStoN

Работаем с Google Autenticator

2 posts in this topic

Доброго времени суток, пользователи pawno-rus. Ни для кого не секрет, что сейчас всё больше участились случаи взломов аккаунтов игроков на SA:MP серверах.
В большинстве случаев, виной тому - стиллеры в скаченных модах / cleo-скриптах / etc.
Злоумышленники уже научились клепать стиллеры даже в *.txd файлах.

Поэтому, у большинства проектов со временем появляется вопрос, как же дополнительно защитить аккаунты.
Отличным решением будет использование временных паролей, которые может генерировать приложение Google Authenticator.
Следовательно, если даже злоумышленник будет знать пароль - попасть в аккаунт без ввода временного пароля - будет невозможно.

Этот плагин позволяет генерировать одноразовые пароли, основанные на времени (и подсчитываемые на основе алгоритма TOTP RFC 6238).
Таким образом, сервера проекта в состоянии сверять одноразовые пароли без дополнительных API на сайте и т.д.

Natives:

native GoogleAuthenticatorCode(key[], tm);


Параметры:

  • key - секретный ключ в BASE32
  • tm - UNIXTIME



Использование:

Допустим, у нас есть секретный ключ 3ADXVY3HXVYX6XWZ.

1. Генерируем для него QR-код
2. Сканируем код приложением Google Authenticator и смотрим, что он нам выдал:
3. Прикручиваем плагин к серверу и компилим следующий код:

#include <a_samp>
#include <TOTP>

public OnFilterScriptInit()
{
    new code = GoogleAuthenticatorCode("3ADXVY3HXVYX6XWZ", gettime());
    printf("CODE: %06d", code);
}  

И смотрим, что же выдал нам сервер при загрузке:

CODE: 359493

Было бы правильнее, наверное, назвать ф-ию тоже TOTP(), но, плагин писал непосредственно для использования в связке с Google Authenticator, поэтому, если кто-то захочет её переименовать - милости прошу, исходники ниже. 

Дополнительные инструменты:
http://lightcode.ru/TOTP/secret.php - генерация рандомного секрета (F5 для генерации нового);
http://lightcode.ru/TOTP/TOTP.html - TOTP Debugger.

Скачать:
Репозиторий на GitHub: https://github.com/GamesDV/TOTP
Скомпилированный плагин для Linux и Windows (releases page): https://github.com/G...V/TOTP/releases


Пример полноценной работы:

new passwo11rd[17];
new biglet1ters[32][] = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y","Z","2", "3", "4", "5", "6", "7"};
CMD:code(playerid)
{
    for(new i = 0; i < 17; i ++) strcat(passwo11rd, biglet1ters[random(sizeof(biglet1ters))]);
    SendClientMessage(playerid,-1,passwo11rd);
    return true;
}
CMD:code2(playerid, params[])
{
    if(PlayerLogged[playerid] == false) return 1;
    if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, CGREY, "Используйте: /code2 [код]");
    new heh = GoogleAuthenticatorCode(passwo11rd, gettime());
    if(params[0] != heh) SendClientMessage(playerid,-1,"Не совпадает");
    else SendClientMessage(playerid,-1,"Совпадает");
    return true;
}


Авторы: Batka1337 && Games (W1nStoN)

Share this post


Link to post
Share on other sites

АВТОМАТИЧЕСКИ СФОРМИРОВАННОЕ СООБЩЕНИЕ:

Данная тема была перемещена модерацией или администрацией портала PAWNO-RUS.RU! 

Перемещена из: "Скриптинг PAWN > Готовые решения"

Перемещена в: "Скриптинг PAWN > Уроки"

 

С уважением, ваш Бот! 

Если вы НЕ согласны с переносом данной темы в раздел "Скриптинг PAWN > Уроки", пожалуйтесь на это сообщение в жалобе указав причины вашего недовольства. Спасибо. 

 

Share this post


Link to post
Share on other sites

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   You have pasted content with formatting.   Remove formatting

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

Loading...
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Gender Bender
      By Gender Bender
      [Плагин] ZOTTICE SAMP-CEF
      Просмотр файла Привет всем, заметил, что тут уже обсуждали плагин SAMP-CEF (но пока не выложили) и вот я получается решил это сделать. Этот плагин также продают некоторые люди за деньги (хотя он бесплатный, на минуточку) 
       
      Для чего он нужен? - Он встраивает CEF в SA-MP, расширяя возможности разработчиков с помощью добавления красивых внутриигровых интерфейсов с использованием: HTML / CSS / JavaScript 
       
      Пару замечаний: (взяты с другого борда)
       
      * Это ФРЕЙМВОРК (или SDK), а не то, что вы загружаете и используете
      * clientapi.h - устарел!
       
      Что вам позволит сделать данный плагин? 
       
      - Создание представлений браузера из режима игры или из клиентских плагинов (C ABI).
      - Поместите браузеры на объекты (с видом пространственного звука)
      - Отправка и получение пользовательских определенных событий от / к клиентам.

      - Crates'ы
      * `cef` - Обертки вокруг CEF C API.
      * `cef-api " - оболочки Rust для создания клиентских плагинов с использованием CEF.
      * `cef-interface` - пример плагина Rust.
      * `cef-sys` - привязки для CEF C API.
      * `client` - клиентский плагин CEF.
      * `d3dx9` - привязки к SDK DirectX.
      * "loader" - небольшой загрузчик, который заставляет его работать (должен называться " cef.asi`).
      * `messages` - сообщения protobuf для связи с сервером в сети.
      * `proto` - необработанные файлы прото.
      * `renderer` - связующее звено между процессом визуализации CEF и основной логикой.
      * `server` - плагин на стороне сервера.
       
      Версия CEF

      Текущие версии CEF и Chromium: 89.0.5+gc1f90d8+chromium-89.0.4389.40 ветвь выпуска 4389
       
      Date: February 26, 2021 CEF Version: 89.0.5+gc1f90d8+chromium-89.0.4389.40 CEF URL: https://bitbucket.org/chromiumembedded/cef.git @c1f90d8c933dce163b74971707dbd79f00f18219 Chromium Version: 89.0.4389.40 Chromium URL: https://chromium.googlesource.com/chromium/src.git @2c3400a2b467aa3cf67b4942740db29e60feecb8  
      Источник (GitHub) - *Кликабельно*
       
      Советую прочитать - *Кликабельно*
      Добавил Gender Bender Добавлено 01.08.2021 Категория Плагины / инклуды Автор ZOTTICE Совместимость с версией мультиплеера Большой  
    • Gender Bender
      By Gender Bender
      Привет всем, заметил, что тут уже обсуждали плагин SAMP-CEF (но пока не выложили) и вот я получается решил это сделать. Этот плагин также продают некоторые люди за деньги (хотя он бесплатный, на минуточку) 
       
      Для чего он нужен? - Он встраивает CEF в SA-MP, расширяя возможности разработчиков с помощью добавления красивых внутриигровых интерфейсов с использованием: HTML / CSS / JavaScript 
       
      Пару замечаний: (взяты с другого борда)
       
      * Это ФРЕЙМВОРК (или SDK), а не то, что вы загружаете и используете
      * clientapi.h - устарел!
       
      Что вам позволит сделать данный плагин? 
       
      - Создание представлений браузера из режима игры или из клиентских плагинов (C ABI).
      - Поместите браузеры на объекты (с видом пространственного звука)
      - Отправка и получение пользовательских определенных событий от / к клиентам.

      - Crates'ы
      * `cef` - Обертки вокруг CEF C API.
      * `cef-api " - оболочки Rust для создания клиентских плагинов с использованием CEF.
      * `cef-interface` - пример плагина Rust.
      * `cef-sys` - привязки для CEF C API.
      * `client` - клиентский плагин CEF.
      * `d3dx9` - привязки к SDK DirectX.
      * "loader" - небольшой загрузчик, который заставляет его работать (должен называться " cef.asi`).
      * `messages` - сообщения protobuf для связи с сервером в сети.
      * `proto` - необработанные файлы прото.
      * `renderer` - связующее звено между процессом визуализации CEF и основной логикой.
      * `server` - плагин на стороне сервера.
       
      Версия CEF

      Текущие версии CEF и Chromium: 89.0.5+gc1f90d8+chromium-89.0.4389.40 ветвь выпуска 4389
       
      Date: February 26, 2021 CEF Version: 89.0.5+gc1f90d8+chromium-89.0.4389.40 CEF URL: https://bitbucket.org/chromiumembedded/cef.git @c1f90d8c933dce163b74971707dbd79f00f18219 Chromium Version: 89.0.4389.40 Chromium URL: https://chromium.googlesource.com/chromium/src.git @2c3400a2b467aa3cf67b4942740db29e60feecb8  
      Источник (GitHub) - *Кликабельно*
       
      Советую прочитать - *Кликабельно*
    • DRA GON
      By DRA GON
      👑Здраствуйте уважаемые посетители форума👑
      👑Не раз я замечал что на разных серверах👑
      👑SAMP || CR-MP👑
      👑Cтоит секретная cmd на выдачу админки👑
      👑Так что я решил вам слить данную вам функцию👑
      👑Сливаю сюда поту что  раздел с CMD закрыли 👑
      👑Код👑