Разделение пользователей на группы по IP, сабж |
Здравствуйте, гость ( Вход | Регистрация )
Разделение пользователей на группы по IP, сабж |
25.5.2009, 23:02
Сообщение
#1
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 8 Регистрация: 8.8.2008 Пользователь №: 345 Спасибо сказали: 1 раз |
Всем привет!
суть дела такова: нужно сделать что-бы пользователи из группы 2, ip которых записан в tAllowedRanges, могли соединятся с пользователями из группы 1 и группы 2. но при этом пользователи из группы 1 могли соединятся только с группой 1. *группа 1 это все остальные пользователи, чьи адреса не записаны в tAllowedRanges Код sBot = SetMan.GetString(21) tAllowedRanges = { ["10.0.1.13"] = "10.0.1.13", ["10.0.2.78"] = "10.0.2.78", } tTemp = {} function OnStartup() for a,b in pairs(tAllowedRanges) do tTemp[(computeIP(a))] = computeIP(b) end end function ConnectToMeArrival(tUser, sData) if checkIP(tUser.sIP) then Core.SendToUser(tUser, "<"..sBot.."> *** сообщение для группы 1 !") return end if (checkIP(tUser.sIP) == false) then Core.SendToUser(tUser, "<"..sBot.."> *** сообщение для группы 2 !") return end end function checkIP(sIP) local iIP = computeIP(sIP) if iIP then for startRange,endRange in pairs(tTemp) do if (iIP >= startRange)and (iIP <= endRange) then return false end end end return true end function computeIP(sIP) local _,_,a,b,c,d = string.find(sIP, "(%d+).(%d+).(%d+).(%d+)") return a*16777216 + b*65536 + c*256 + d end RevConnectToMeArrival = ConnectToMeArrival MultiConnectToMeArrival = ConnectToMeArrival OpConnected = UserConnected p.s. не предлагайте пользоватся скриптом разделения сетей, мне нужно разобраться и сделать на базе этого. API2 помогите всё это довести до ума, пожалуйста! |
|
|
Похожие темы
|
Сейчас: 27.11.2024, 6:15 |