[Ajuda] GetServerPort
#1

Tava tentando proteger meu GM de algumas formas, mas encontrei dificuldade em pegar a porta usada no server..

Pra fazer algo assim:
Код:
    #define PORTA_PERMITIDA 7777
    if(GetServerPort() != PORTA_PERMITIDA) return CloseServerProtection();
To usando assim (achei aqui no fуrum):
Код:
stock GetServerPort() {
    static Porta[64];
    return (GetServerVarAsString("port", Porta, 64), Porta);
}
Mas ta retornando esse erro:
Код:
error 033: array must be indexed (variable "GetServerPort")
Reply
#2

Veja o exemplo da SA-MP Wiki sobre a funзгo GetServerVarAsInt :



https://sampwiki.blast.hk/wiki/GetServerVarAsInt



Com o retorno sendo um tipo integral, vocк poderб comparб-lo pelo operador !=.



Espero ter ajudado .
Reply
#3

Quote:
Originally Posted by rjjj
Посмотреть сообщение
Veja o exemplo da SA-MP Wiki sobre a funзгo GetServerVarAsInt :



https://sampwiki.blast.hk/wiki/GetServerVarAsInt



Com o retorno sendo um tipo integral, vocк poderб comparб-lo pelo operador !=.



Espero ter ajudado .
Muito obrigado +rep


Se nгo for abusar teria como me ajudar na verificaзгo de IP, pq nгo ta pegando?
Код:
    // ip
	#define IP_PERMITIDO "127.0.0.1"
    new SERVER_IP[16];
    GetServerVarAsString("bind", SERVER_IP, sizeof SERVER_IP);
    if(strcmp(SERVER_IP,IP_PERMITIDO) || !strlen(SERVER_IP)) return CloseServerProtection();
Reply
#4

Substitua !strlen por isnull.
Reply
#5

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
Substitua !strlen por isnull.
Tentei
Код:
    // ip
	#define IP_PERMITIDO "127.0.0.1"
    new SERVER_IP[16];
    GetServerVarAsString("bind", SERVER_IP, sizeof SERVER_IP);
    if(strcmp(SERVER_IP,IP_PERMITIDO) || isnull(SERVER_IP)) return CloseServerProtection();
Mas continua fechando o servidor errado :\
Reply
#6

Quote:
Originally Posted by pdonald
Посмотреть сообщение
Tentei
Код:
    // ip
	#define IP_PERMITIDO "127.0.0.1"
    new SERVER_IP[16];
    GetServerVarAsString("bind", SERVER_IP, sizeof SERVER_IP);
    if(strcmp(SERVER_IP,IP_PERMITIDO) || isnull(SERVER_IP)) return CloseServerProtection();
Mas continua fechando o servidor errado :\
Coloque no server.cfg caso ainda nгo tenha colocado
Код:
bind 127.0.0.1
Reply
#7

Se o que vocк quer й capturar o IP externo do computador de host, utilize este plugin :



https://sampforum.blast.hk/showthread.php?tid=352873



Ele foi feito para situaзхes assim e й ъtil sobretudo em sites simples, como este:



http://www.meuip.com/



Espero ter ajudado .
Reply
#8

Quote:
Originally Posted by rjjj
Посмотреть сообщение
Se o que vocк quer й capturar o IP externo do computador de host, utilize este plugin :



https://sampforum.blast.hk/showthread.php?tid=352873



Ele foi feito para situaзхes assim e й ъtil sobretudo em sites simples, como este:



http://www.meuip.com/



Espero ter ajudado .
@rjjj, nгo quero desmerecer teu trabalho, mas sim entender. O que torna seu plugin mais eficiente que o HTTP?
Reply
#9

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
@rjjj, nгo quero desmerecer teu trabalho, mas sim entender. O que torna seu plugin mais eficiente que o HTTP?
A funзгo HTTP do SA-MP serve para realizar uma simples requisiзгo HTTP do tipo POST ou GET. Entretanto, muitos sites nгo sгo aptos a serem acessados assim, pois й obrigatуrio um cуdigo web (PHP, ASP) especнfico :



https://www.w3schools.com/tags/ref_httpmethods.asp



Um exemplo de falha da funзгo HTTP й quando uma pбgina tem um campo de nome e senha. Em PHP, й comum bloquear essas informaзхes na barra de endereзo do navegador por motivos de seguranзa. Porйm, isso tem o efeito colateral de impossibilitar um login automбtico pelo HTTP POST.



Poderia o criador do tуpico escrever um arquivo PHP de modo que o IP fosse obtido pelo HTTP do SA-MP ? Claro que sim, mas isso necessitaria de um servidor de host de sites .



Agora, o plugin que desenvolvi й diferente: ele aplica a classe padrгo do Windows chamada Microsoft.XmlHttp para realizar uma requisiзгo XHR (HTTP + XML), nгo uma requisiзгo HTTP. Isso permite um GET que retorne texto puro de qualquer site acessнvel pelo Internet Explorer do sistema.



Espero ter ajudado .
Reply
#10

Quote:
Originally Posted by testi_man
Посмотреть сообщение
Coloque no server.cfg caso ainda nгo tenha colocado
Код:
bind 127.0.0.1
Nossa era isso, nгo sabia dessa config do server.cfg +rep

---

Obrigado tbm @rjjj pelo conhecimento e da hora seu plugin (+rep)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)