Jump to content

Proteção por IP


Recommended Posts

SERVER_IP = "false"

function startIPChecking ()
	if (hasObjectPermissionTo (getThisResource(), "function.fetchRemote", false)) then -- Se o resource de segurança tem permissão de fetchRemote, então:
		fetchRemote ("http://checkip.dyndns.com/", myCallback, "", false) -- Obtém o IP do servidor através deste link.
	else
		outputDebugString ("The resource '"..getResourceName (getThisResource()).."' needs the following permission: function.fetchRemote", 1)
		SERVER_IP = "false"  -- O resource de segurança precisa da seguinte permissão: function.fetchRemote para poder obter o IP do servidor.
	end
end
addEventHandler ("onResourceStart", resourceRoot, startIPChecking)

function myCallback (responseData, errors)
	if (errors == 0) then -- Se não houve erros durante o callBack, então:
		SERVER_IP = responseData:match("<body>Current IP Address: (.-)</body>") -- SERVER_IP recebe uma string com o IP do servidor.
	else
		SERVER_IP = "error"
	end
end

function getServerIP() -- Função exportada
	return SERVER_IP
end
function authorizeResource ()
    authorizedIP = "000.000.000.000"
    local ip = exports["serverIP"]:getServerIP () -- ip recebe o valor que está na variável Server_IP do resource de segurança.
    if (ip ~= authorizedIP) then -- Se o IP que recebeu do resource de segurança for diferente do IP configurado neste resource
        cancelEvent(true, "This resource was not purchased by this IP.") -- Cancela a ativação deste resource
        print ("Incorrect Server IP from: "..getResourceName(getThisResource()).." (REASON: "..getCancelReason ()..")")
    end
end
addEventHandler ("onResourceStart", resourceRoot, authorizeResource)

a minha dúvida está sendo que o IP que coloco em authorizedIP está certo, porem, continua cancelando o plugin de ligar

Link to comment
  • Other Languages Moderators

Compare o valor que está na variável ip com a variável authorizedIP.

function authorizeResource ()
    authorizedIP = "000.000.000.000"
    local ip = exports["serverIP"]:getServerIP () -- ip recebe o valor que está na variável Server_IP do resource de segurança.
    print ("IP = "..tostring(ip).." | authorizedIP = "..authorizedIP) -- Mostra no /debugscript 3 as duas variáveis para saber qual delas está errada.
    if (ip ~= authorizedIP) then -- Se o IP que recebeu do resource de segurança for diferente do IP configurado neste resource
        cancelEvent(true, "This resource was not purchased by this IP.") -- Cancela a ativação deste resource
        print ("Incorrect Server IP from: "..getResourceName(getThisResource()).." (REASON: "..getCancelReason ()..")")
    end
end
addEventHandler ("onResourceStart", resourceRoot, authorizeResource)

 

Edited by Lord Henry
Link to comment
On 04/11/2021 at 18:03, Lord Henry said:

Compare o valor que está na variável ip com a variável authorizedIP.

function authorizeResource ()
    authorizedIP = "000.000.000.000"
    local ip = exports["serverIP"]:getServerIP () -- ip recebe o valor que está na variável Server_IP do resource de segurança.
    print ("IP = "tostring(ip).." | authorizedIP = "..authorizedIP) -- Mostra no /debugscript 3 as duas variáveis para saber qual delas está errada.
    if (ip ~= authorizedIP) then -- Se o IP que recebeu do resource de segurança for diferente do IP configurado neste resource
        cancelEvent(true, "This resource was not purchased by this IP.") -- Cancela a ativação deste resource
        print ("Incorrect Server IP from: "..getResourceName(getThisResource()).." (REASON: "..getCancelReason ()..")")
    end
end
addEventHandler ("onResourceStart", resourceRoot, authorizeResource)

 

ent, creio que no tostring ele precise de ".." antes tambem , "..tostring(ip).."

porem, ele entrega um valor nil

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...