Защита аккаунта пользователя -
Miller - 12.04.2011
Hi people
Возникла такая проблема. Хочу сделать, чтобы пользователь мог ставить защиту на свой аккаунт (да, да, пароля мало). Защита устанавливается по IP адресу. Вообщем в файл юзера успешно записывается последний IP адрес, всё как надо, но нормально считать этот IP из файла, он не может... (объяснять я не умею

)
Вообщем вод основа защиты:
Quote:
if(PlayerInfo[playerid][pAccountProtection] == 1)
{
if(GetPlayerIp(playerid, currentip, sizeof(currentip)) == PlayerInfo[playerid][pLastIp])
{
return 1;
}
else
{
SendClientMessage(playerid, COLOR_LIGHTYELLOW, "Ваш IP адрес не совпадает с IP адресом использованным при установке защиты аккаунта!");
Kick(playerid);
}
}
|
Видимо я что то не так наляпал своими корявыми руками, но кикает в любом случае, даже если IP совпадает -_-
Вопрос: Что не так? о.о
Re: Защита аккаунта пользователя -
White_116 - 12.04.2011
если кто-то на димамике поставит так называемую защиту, то потом уже ты будешь востанавливать этот аккаунт, потому что его не пустит после ребута интернета.
Re: Защита аккаунта пользователя -
Fro1sha - 12.04.2011
https://sampwiki.blast.hk/wiki/GetPlayerIp
https://sampwiki.blast.hk/wiki/Strcmp
pawn Код:
if(PlayerInfo[playerid][pAccountProtection] == 1)
{
GetPlayerIp(playerid, currentip, sizeof(currentip));
if ( strcmp(currentip, PlayerInfo[playerid][pLastIp]) )
{
SendClientMessage(playerid, COLOR_LIGHTYELLOW, "Ваш IP адрес не совпадает с IP адресом использованным при установке защиты аккаунта!");
Kick(playerid);
}
}
Re: Защита аккаунта пользователя -
Miller - 12.04.2011
White_116, спасибо кэп, у меня вообще то в диалогах предупреждение стоит, мол юзерам с динамикой лучше не ставить, если игрок принимает условия, то устанавливается защита...
Fro1sha, спасибо
Re: Защита аккаунта пользователя -
Romanius - 12.04.2011
по емейлу делай, асе, по мобилке. HTTP есть же
Re: Защита аккаунта пользователя -
Miller - 12.04.2011
Romanius, я в этих функциях пока не особо разбираюсь
Если есть урок по их использованию, кидай
Re: Защита аккаунта пользователя -
Miller - 12.04.2011
Fro1sha, хм... По началу работало прекрасно, сейчас, то IP совпадает, то не совпадает... Хотя IP прописан один и тот же (127.0.0.1) для теста на блокировку захожу по этому адресу 192.168.1.2...
Хз в чём трабл -_-
Re: Защита аккаунта пользователя -
Fro1sha - 12.04.2011
PlayerInfo[playerid][pLastIp]
Криво записал в нее данные скорее всего...
Re: Защита аккаунта пользователя -
Miller - 12.04.2011
Вот моя функция записи IP адреса:
Quote:
// Запись последнего ip адреса
new ip[MAX_PLAYER_IP], ipstring[MAX_PLAYER_IP];
GetPlayerIp(playerid, ip, sizeof(ip));
format(ipstring, sizeof(ipstring), "%s", ip);
strmid(PlayerInfo[playerid][pLastIp], ipstring, 0, strlen(ipstring), 255);
|
Re: Защита аккаунта пользователя -
Makar93 - 12.04.2011
Quote:
Originally Posted by Miller
Вот моя функция записи IP адреса:
|
Код:
new ip[MAX_PLAYER_IP];
GetPlayerIp(playerid, ip, sizeof(ip));
strmid(PlayerInfo[playerid][pLastIp], ip, 0, strlen(ip));
Не проще ли?
Re: Защита аккаунта пользователя -
Miller - 12.04.2011
Makar93, ну может и проще, но функционал то один и тот же получается -_-
Re: Защита аккаунта пользователя -
Stepashka - 12.04.2011
pawn Код:
GetPlayerIp(playerid, PlayerInfo[playerid][pLastIp], MAX_PLAYER_IP);
Re: Защита аккаунта пользователя -
Miller - 12.04.2011
Makar93, ну пистец, твой код попробовал, теперь вообще ничего не записывается, и юзер может входить с любого IP >.<
Re: Защита аккаунта пользователя -
Miller - 12.04.2011
Stepashka, и что с этим делать >_<?
Re: Защита аккаунта пользователя -
Makar93 - 12.04.2011
Quote:
Originally Posted by Stepashka
pawn Код:
GetPlayerIp(playerid, PlayerInfo[playerid][pLastIp], MAX_PLAYER_IP);

|
Ну или так
Quote:
Originally Posted by Miller
Makar93, ну пистец, твой код попробовал, теперь вообще ничего не записывается, и юзер может входить с любого IP >.<
|
Извиняюсь за выражение, не виноваты ли ваши криворучки?
Re: Защита аккаунта пользователя -
Miller - 12.04.2011
Makar93, бывает что я жалуюсь на свои руки, в чём то они и в правду кривы, но не до такой же степени, что я не могу банально заменить две строки одной... -_-
Re: Защита аккаунта пользователя -
Makar93 - 12.04.2011
Quote:
Originally Posted by Miller
Makar93, бывает что я жалуюсь на свои руки, в чём то они и в правду кривы, но не до такой же степени, что я не могу банально заменить две строки одной... -_-
|
Степашка тебе показал как записать в PlayerInfo[playerid][pLastIp] IP игрока, дальше сам.
Re: Защита аккаунта пользователя -
Miller - 12.04.2011
Stepashka, разобрался ^^
Makar93, незнаю почему, но с твоим кодом у меня не записывало...
Какбэ запись в файл была, спасибо что сжали код, но...
Как исправить трабл с тем, что я не могу зайти даже с того IP адреса, который был установлен при включении защиты ><?
Re: Защита аккаунта пользователя -
Stepashka - 12.04.2011
Покажи конечный вариант проверки.
Re: Защита аккаунта пользователя -
Miller - 12.04.2011
Stepashka, вот:
Код:
if(PlayerInfo[playerid][pAccountProtection] == 1)
{
GetPlayerIp(playerid, currentip, sizeof(currentip));
if(strcmp(currentip,PlayerInfo[playerid][pLastIp]))
{
SendClientMessage(playerid, COLOR_LIGHTYELLOW, "Ваш IP адрес не совпадает с IP адресом использованным при установке защиты аккаунта!");
Kick(playerid);
}
}