Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ VerliHub _ Подключение к хабу только от определенных провайдеров.

Автор: averon.nv 17.7.2010, 16:55

Доброго времени суток!
Подскажите, пожалуйста, возможно ограничить доступ на хаб "только" для определенных провайдеров?
Что для этого нужно?
Хочу сделать локалку городским провайдерам, остальным-внешним, запретить доступ.

Автор: Nickolya 21.7.2010, 21:48

По-идее можно воспользоваться http://mydc.ru/topic2432.html, слегка переделанным под верли:

Код
-- Автор: Setuper
tRanks = {
  {"10.0.0.0", "10.255.255.255"},        -- Диапазон для входа
  {"192.168.0.0", "192.168.255.255"}    -- Диапазон для входа
}

function Ip2Num(sIP)
  local a, b, c, d = string.match(sIP, "^(%d+)%.(%d+)%.(%d+)%.(%d+)$")
  return a * 16777216 + b * 65536 + c * 256 + d
end

function Main()
  for k, v in ipairs(tRanks) do
    tRanks[k][1], tRanks[k][2] = Ip2Num(v[1]), Ip2Num(v[2])
  end
end

function VH_OnUserLogin(nick)
  local _, sIP = VH:GetUserIP(nick)
  local iIP = Ip2Num(sIP)
  for _, v in ipairs(tRanks) do
    if iIP > v[1] and iIP < v[2] then
      return 1
    end
  end
  VH:CloseConnection(nick)
end

Автор: averon.nv 22.7.2010, 10:56

А если у одного провайдера «динамические IP»? Можно его как-то прописать в допустимые?

Автор: Nickolya 22.7.2010, 14:58

Это как? Привел бы сразу диапазоны. Вообще "динамическим" айпи может быть у юзеров, которым при новой сессии выдается новый айпи, а за провайдером закрепляется диапазон адресов, который вряд ли меняется.