please help me in this routine
 

News:

29 December 2022 - PtokaX 0.5.3.0 (20th anniversary edition) released...
11 April 2017 - PtokaX 0.5.2.2 released...
8 April 2015 Anti child and anti pedo pr0n scripts are not allowed anymore on this board!
28 September 2015 - PtokaX 0.5.2.1 for Windows 10 IoT released...
3 September 2015 - PtokaX 0.5.2.1 released...
16 August 2015 - PtokaX 0.5.2.0 released...
1 August 2015 - Crowdfunding for ADC protocol support in PtokaX ended. Clearly nobody want ADC support...
30 June 2015 - PtokaX 0.5.1.0 released...
30 April 2015 Crowdfunding for ADC protocol support in PtokaX
26 April 2015 New support hub!
20 February 2015 - PtokaX 0.5.0.3 released...
13 April 2014 - PtokaX 0.5.0.2 released...
23 March 2014 - PtokaX testing version 0.5.0.1 build 454 is available.
04 March 2014 - PtokaX.org sites were temporary down because of DDOS attacks and issues with hosting service provider.

Main Menu

please help me in this routine

Started by Chibok, 31 August, 2005, 00:05:31

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Chibok

in Portugal the politica of the ISP'S is to limit passes through it of InterNet, more serious still is to divide in passes through national and international, recently a problem was identified that inside of proprio ISP some of you creak them are counted as I pass through international. In the remaining portion I did not find problems of greater only in the routine of comparison of which I do not obtain to leave. The logical one is the following one: When the command will be received to bind to compare if the IP of who intends to unload this in a database and it will be to verify if the IP of where to unload this in one another database and will be to block unloading.

Quote----------------------------------------------------------
-- IP-Filtro e Blokeio de Dll de Sapo a Cabovisao    --
-- Versao: 1.0                  --
-- By: Chibok                  --            
-- 2005-08                  --
-- Agradecimentos:               --
-- Zero-Cool, pela ajuda dada na resulu??o de diversos   --
-- problemas e erros               --   
-- Xico, pela ajuda dada            --
----------------------------------------------------------
-- Example to add a range:
-- !addrange 192.168.0.1-192.168.0.255 RangeName RangeTag
----------------------------------------------------------

-------------------------------------------------------------------------------------------
BotName = "-IP-Shield-"
Prefix = "!"
-------------------------------------------------------------------------------------------
AllowRange = {}
NacionaisRange = {}
InternacionaisRange = {}

AllowFile = "Ranges/Ranges.dat"       -- ranges file ke podem entrar    = NACIONAIS
NacionalFile = "Ranges/Nacional.dat"      -- ranges file ke consideram outras internacionais = SAPO
InternacionalFile = "Ranges/Internacional.dat"   -- ranges file consideradas internacionais = CABOVISAO
-------------------------------------------------------------------------------------------
function Main()
   frmHub:RegBot(BotName)
   frmHub:EnableFullData(1)

   LoadFromFile(AllowFile)
   LoadFromFile(NacionalFile)
   LoadFromFile(InternacionalFile)
end
-------------------------------------------------------------------------------------------
function ComputeIP(curIP)
   local _,_,a,b,c,d = strfind(curIP, "(%d+).(%d+).(%d+).(%d+)")
   return a*16777216 + b*65536 + c*256 + d
end
-------------------------------------------------------------------------------------------
function GetRange(ip,table)
   local _,_,a,b,c,d = strfind(ip, "(%d*).(%d*).(%d*).(%d*)")
   if ( tonumber(a) and tonumber(b) and tonumber(c) and tonumber(d) ) then
      local uip = ComputeIP(ip)
      if uip then
         local c = ""
         for r,i in table do
            local _,_,range1,range2 = strfind(r, "(.*)-(.*)")
            range1 = ComputeIP(range1)
            range2 = ComputeIP(range2)
            if uip>=range1 and uip<=range2 then
               c = "1"
               return 1,r
            end
         end
      end
   end
end
-------------------------------------------------------------------------------------------
function NewUserConnected(curUser,data)

   -- mensagem de entrada

   curUser:SendData(BotName,"Running and testing  IP-Shield 1.0 By: Chibok")
   local Int = "N?o"
   local Nac = "N?o"
   local RangeInt = "1"
   --local Int,RangeInt = GetRange(curUser.sIP,InternacionaisRange)
   local Nac,RangeNac = GetRange(curUser.sIP,NacionaisRange)
   local Allow,Range = GetRange(curUser.sIP,AllowRange)
   local Network = ""
   if Allow==1 then
      curUser:SendData(BotName,"*** Verify Your IP here...")
      curUser:SendData(BotName,"Your IP is Allowed here...")
      curUser:SendData(BotName,"IP "..curUser.sIP.." permitido")
      curUser:SendData(BotName,"Gama de IP "..Range.." permitida")
      curUser:SendData(BotName,"Gama de IP "..RangeNac.." SAPO permitida+")
      curUser:SendData(BotName,"Gama de IP "..RangeInt.."  Cabovisao Permitida")
      return 1
   else
      curUser:SendData(BotName,"Your IP is not Allowed here...")
      --curUser:Disconnect()
      return 1
   end
end

----------------------------------------------------------------------------------
--//    OpConnected
----------------------------------------------------------------------------------

OpConnected = NewUserConnected

-------------------------------------------------------------------------------------------
function DataArrival(curUser, data)
------------------------------------------------------------ iniciar tratamento de comandos   
   if strsub(data, 1, 4) == "$To:" then
      local s,e,to,from,text = strfind(data, "%$To:%s(%S+)%sFrom:%s(%S+)%s$(.*)$")
      if to == BotName then
         data = text
         data = strsub(data,1,strlen(data)-1)
         if (GetCom(curUser,data) == 1) then
            return 0
         else
            return 0
         end
      end
   
----------

BlockTriggs = {
   ["$Rev"] = 1,
   ["$Con"] = 2,
}

   function DataArrival(curUser,data)
   if strsub(data,1,1) == "$" then
      local str1 = strsub(data,1,4)
      if BlockTriggs[str1] then
         if NacionaisRange[NacionaisRange(curUser.sIP)] then
            curUser:SendData("*** You are not authorized to download.")
            return 1
         elseif BlockTriggs[str1] == 1 then
            local _,_,NacionaisRange = strfind(data,"(%S+)|$")
            if NacionaisRange[strlower(curUser.sIP)] then
               curUser:SendData("*** The user you are trying to download is not authorized to upload.")
               return 1
            end
         elseif BlockTriggs[str1] == 2 then

            curUser:SendData("*** ????The user you are trying to download is not authorized to upload.")
            --local _,_,curUser.sIP = strfind(strsub(data,14,strlen(data)),"^(%S+)")
            if NacionaisRange[strlower(InternacionaisRange)] then
               curUser:SendData("*** The user you are trying to download is not authorized to upload.")
               return 1
            end
         end
      end                        
   end
end
end
end


SMF spam blocked by CleanTalk