PDA

Просмотр полной версии : [Вопрос] GetPlayerIP and Mysql r39



Skill
21.08.2017, 13:29
Я хочу сделать сверение айпишника при заходе, всё хорошо записывается ip в бд сохраняется.

Я специально изменил сохраненый ИП в БД убрав одно число для проверки и если ип не совпадает мне должен вывести гугл аунтентификатор.
Но нет, не появляется, считает что всё норм с ИП. Потому вот сегодня утром решил искать проблему. И вроде кое что на*ярил, там в БД если менять лишь первое число, тогда запрашивается аутентификатор. Аутентификатор вызывается если первое число ип не совпадает крч.

Если не понятно попросите скину код нужные.

Вот сам код который должен сработать, если все нормально он пропускается и идет к окну авторизации.


GetPlayerIp(playerid, pInfo[playerid][IPadress], 16);
//strmid(pInfo[playerid][IPadress], IPit, 0, 16, 15+1);
//strcat(pInfo[playerid][pIP], pInfo[playerid][IPadress], 15+1);

cache_get_field_content(0, "password", pInfo[playerid][pPassword], mysql_connect_ID, 31);
cache_get_field_content(0, "playerIP", pInfo[playerid][pIP], mysql_connect_ID, 15+1);
cache_get_field_content(0, "google", pInfo[playerid][pGoogle], mysql_connect_ID, 18+1);

if(pInfo[playerid][pGoogle] != EOS)
{
if(pInfo[playerid][IPadress] != pInfo[playerid][pIP])
{
SendClientMessage(playerid, -1, "Система защиты аккаунт включена");
ShowPlayerDialog(playerid, 54, DIALOG_STYLE_INPUT, "GoogleAuthenticator (умная защита)",
"{E8D47F}IP передущей сессии не совпадает с нынешним\n\
Если вы владелец аккаунта у Вас есть доступ к ключу\n\
Введите 6 значный код из {1CA361}GoogleAuthenticator:\n\n\
{969595}*Код обновляется каждые 30 секунд", "Проверка", "Выйти");
return 1;
}



В БД ИП записывается как VARCHAR если че

Также залогиовал ну не залогировал а в игре переменную чекаю после авторизации именно переменную IPadress , она равна моему айпи. Я незнаю в чем прикол и почему аунтефикатор срабатывает если не совпадает лишь первая цифра.

Batya_Montes
21.08.2017, 14:15
с каких пор строки так сравнивать стали ?
strcmp юзай для сравнения строк

Skill
21.08.2017, 14:21
с каких пор строки так сравнивать стали ?
strcmp юзай для сравнения строк

можешь шаблон дать?

Batya_Montes
21.08.2017, 14:51
можешь шаблон дать?

вам вики мало что ли ?
http://wiki.sa-mp.com/wiki/Strcmp_RU

Skill
21.08.2017, 14:55
Уже всё, спс)

- - - Добавлено - - -

А мне остается интересным, почему тогда если первую цифру менял то аунтентификатор робил? можете объяснить?

Geebrox
21.08.2017, 17:11
потому что ты сравнивал первую ячейку.