SH_Suplly
Умник
Сделал установку Google Authenticator, после его установки требуется ввести ключ из приложения - ввожу ключ - всё верно принимает и сохраняет аккаунт, но при входе на сервер когда запрашивается ключ, то при любом раскладе пишет что ключ введен не верно. Без ключа игрока спавнит без проблем. Так же при попытке его установить ставлю проверку есть ли у игрока Google Authenticator, и даже когда его нет, все равно пишет что он есть.
PHP:
if(strlen(Player[playerid][pGAuth]) > 2)
{
if(Player[playerid][pGAuthSet] == 0)
{
new ip[16], oldip[16];
GetPlayerIp(playerid, ip, sizeof(ip));
GetPlayerSubnet(ip);
strmid(oldip, Player[playerid][pLastIp], 0, 16, 16);
GetPlayerSubnet(oldip);
if(strcmp(ip, oldip, true) == 0)
{
mysql_format(connect, string, sizeof(string), "SELECT * FROM `accounts` WHERE `Name` = '%e' AND `Password` = '%e'", GN(playerid), Player[playerid][pPassword]);
mysql_tquery(connect, string, "PlayerLogin", "i", playerid);
}
else
{
TextDrawShowForPlayer(playerid, TextDraw[0]);
ShowPlayerDialog(playerid, 25, DSI, !"{FFD300}Google Authenticator", !"\n{FFFFFF}Введите код из приложения Google Authenticator\n", "Выбрать", "Закрыть");
}
}
else
{
TextDrawShowForPlayer(playerid, TextDraw[0]);
ShowPlayerDialog(playerid, 25, DSI, !"{FFD300}Google Authenticator", !"\n{FFFFFF}Введите код из приложения Google Authenticator\n", "Выбрать", "Закрыть");
}
}
PHP:
case 25: // Google Authenticator
{
if(response)
{
if(!strlen(inputtext)) return SPD(playerid, 25, DSI, !"{FFD300}Google Authenticator", !"\n{FFFFFF}Введите код из приложения Google Authenticator\n", "Выбрать", "Закрыть");
new check = GoogleAuthenticatorCode(Player[playerid][pGAuth], gettime());
if(strval(inputtext) == check)
{
SendClientMessage(playerid, 0xFF4530FF, !"{FF4530}[Server] {FFFFFF}Google Authenticator введен верно.");
TextDrawHideForPlayer(playerid, TextDraw[0]);
SpawnPlayer(playerid);
}
else ShowPlayerDialog(playerid, 25, DSM, !"{FF6347}Ошибка", !"\n{FFFFFF}Введеный вами код не совпадает\n", "Повтор", "");
}
else
{
SendClientMessage(playerid, COLOR_WHITE, !"{FF4530}[Server] {FFFFFF}Вы были кикнуты сервером. Причина: {FF4530}отмена авторизации{FFFFFF}.");
SendClientMessage(playerid, COLOR_WHITE, !"{FF4530}[Server] {FFFFFF}Для выхода из игры используйте {FF4530}/q {FFFFFF}или клавишу {FF4530}Esc{FFFFFF}.");
Kickk(playerid);
}
}
PHP:
if(Player[playerid][pGAuth] > 1) return SendClientMessage(playerid, COLOR_WHITE, !"{FF4530}[Server] {FFFFFF}У вас уже установлен Google Authenticator")
Последнее редактирование:
