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

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

MyDC.ru _ VerliHub _ Ограничение Входа По Ip На Verlihub

Автор: derSpinner 9.9.2008, 9:55

Здравствуйте! возможно ли это стандартными средствам, если да то как?
т.е. нужно ограничить доступ "не локальным" ИП-шникам) собственно вот.
если не возможно,то как с помощью плагинов-скриптов (с ними вроде трудности при установке возникают)

заранее спасибо

Автор: Nickolya 9.9.2008, 18:16

Не знаю как стандартными средствами, а скрипт довольно простой выходит, пишу прямо в форме ответа big_smile.gif
Проверить не могу, т.к. нет площадки для тестов, но должно работать feel_good.gif

Код
tRanges = {
    {"127.0.0.1", "127.0.0.255"},
}

sMsg = "*** Доступ на хаб для вашего ip-адреса закрыт!"

function Main()
    local res
    res, BotName = VH:GetConfig("config", "hub_security")
    tBadIps = {}
    tGoodIps = {}
    for i = 1, table.maxn(tRanges) do
        tRanges[i][1] = CountIP(tRanges[i][1])
        tRanges[i][2] = CountIP(tRanges[i][2])
    end
end

function VH_OnUserLogin(nick)
    local ip = VH:GetUserIP(nick)
    if not ip then
        return 1
    end
    local iIp = CountIP(ip)
    if tBadIps[iIP] then
        VH:SendDataToUser("<"..BotName.."> "..sMsg.."|",nick)
        VH:CloseConnection(nick)
    elseif not tGoodIps[iIP] then
        local bBad = true
        for i = 1, table.maxn(tRanges) do
            if iIp >= tRanges[i][1] and iIp <= tRanges[i][2] then
                bBad = nil
                break
            end
        end
        if bBad then
            tBadIps[iIP] = true
            VH:SendDataToUser("<"..BotName.."> "..sMsg.."|",nick)
            VH:CloseConnection(nick)
        else
            tGoodIps[iIP] = true
        end
    end
    return 1
end

function CountIP(sIP)
    if sIP then
        local _,_, iIPsPart1, iIPsPart2, iIPsPart3, iIPsPart4 = string.find(sIP, "(%d+)%.(%d+)%.(%d+)%.(%d+)")
        if iIPsPart1 and iIPsPart2 and iIPsPart3 and iIPsPart4 then
            local iIPsPart1, iIPsPart2, iIPsPart3, iIPsPart4 = tonumber(iIPsPart1), tonumber(iIPsPart2), tonumber(iIPsPart3), tonumber(iIPsPart4)
            local iCountedIP = iIPsPart1 * 16777216 + iIPsPart2 * 65536 + iIPsPart3 * 256 + iIPsPart4
            return iCountedIP
        end
    end
end

Автор: derSpinner 10.9.2008, 6:06

так это же Луа под Птоку который. в Верли же слегка по другому?

Автор: Wariner 10.9.2008, 6:58

На сколько я знаю с помощью плагинов верлик поддерживает lua, и это код именно для него)))

Автор: Nickolya 10.9.2008, 9:15

В верли есть плагин луа, у него свой апи, и тут использован именно он. Да, нужные функции уже изобретены в скриптах для птоки, по этой причине скрипт и простой, ничего изобретать почти не надо big_smile.gif Если хотите - могу перевести функции верли и выложить на форуме. big_smile.gif
Версия луа в скрипте - 5.1, под 5.0 будут небольшие изменения...

Автор: derSpinner 10.9.2008, 9:34

будем жестоко рады=)

Цитата
Версия луа в скрипте - 5.1,

на последней птоке вроде 5.1 же юзается=)

Автор: TiGRpp 13.9.2009, 16:11

Цитата(Nickolya @ 10.9.2008, 10:15) *
В верли есть плагин луа, у него свой апи, и тут использован именно он. Да, нужные функции уже изобретены в скриптах для птоки, по этой причине скрипт и простой, ничего изобретать почти не надо big_smile.gif Если хотите - могу перевести функции верли и выложить на форуме. big_smile.gif
Версия луа в скрипте - 5.1, под 5.0 будут небольшие изменения...


Nickolya,
Имеется ли практическая возможность использования скриптов Птохи в Верли?
Насущный вопрос: где найти Админ панель, Ледокол и Экзекутор для Верли с описанием установки и настройки?
И можно упорядочить описание установки Птохи под Линукс?... Каковы и в чем отличия установки на Дебиан и CentOS?

Автор: Wariner 13.9.2009, 22:39

Цитата(TiGRpp @ 13.9.2009, 17:11) *
Имеется ли практическая возможность использования скриптов Птохи в Верли?

без изменений никак! надо переписывать!
Цитата(TiGRpp @ 13.9.2009, 17:11) *
Насущный вопрос: где найти Админ панель, Ледокол и Экзекутор для Верли с описанием установки и настройки?

Экзекутор ищи на нашем форуме(или на любом другом) он кросплатформенный!
Цитата(TiGRpp @ 13.9.2009, 17:11) *
И можно упорядочить описание установки Птохи под Линукс?... Каковы и в чем отличия установки на Дебиан и CentOS?

вопрос не для этой темы!

Автор: mariner 13.9.2009, 23:04

Цитата(TiGRpp @ 13.9.2009, 17:11) *
И можно упорядочить описание установки Птохи под Линукс?... Каковы и в чем отличия установки на Дебиан и CentOS?


я уже объяснял. тебе нужен луа в CentOS. Писать как его компилировать я не буду, ибо много, а пакеты рожать тоже не буду, т.к. не люблю rpm рожать. Тебе надо - почитай. В сурцах луа есть README (если не знаешь загарманичные наречия - тебе же хуже, ибо английскому мы тут опять же не учим)

Автор: Wildcdu 15.1.2010, 12:04

если вопрос только об ограничении входа по ИП то вопрос решаем просто установкой екзекутора кроссплатформенный бот все в одном. у меня стоит работает есть пить не просит)))