Bom, eu tenho uma proteção que funciona checando o IP pelo site http://checkip.dyndns.com/
Eu queria evoluir e colocar para Funcionar via MySQL só que a única coisa que consegui foi conectar a DataBase, se alguém puder ajudar eu agradeço muito.
function connect()
DBConnection = dbConnect( "mysql", "dbname=dbname;host=host;charset=utf8", "user", "senha" )
if (not DBConnection) then
outputDebugString("Mysql error")
else
outputDebugString("Mysql Connected")
end
end
addEventHandler("onResourceStart",resourceRoot, connect)
function query(...)
local queryHandle = dbQuery(DBConnection, ...)
if (not queryHandle) then
return nil
end
local rows = dbPoll(queryHandle, -1)
return rows
end
function execute(...)
local queryHandle = dbQuery(DBConnection, ...)
local result, numRows = dbPoll(queryHandle, -1)
return numRows
end
function getDBConnection()
return DBConnection
end
------------------------------- o script da proteção é essa
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, então:
cancelEvent(true, "This resource was not purchased by this IP.") -- Cancela a ativação deste resource. (não precisa de permissão Admin)
print ("Incorrect Server IP from: "..getResourceName(getThisResource()).." (REASON: "..getCancelReason ()..")")
end
end
addEventHandler ("onResourceStart", resourceRoot, authorizeResource)