SA-MP Forums Archive
Защита аккаунта пользователя - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Защита аккаунта пользователя (/showthread.php?tid=248123)

Pages: 1 2


Защита аккаунта пользователя - 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);
    		}
	}