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

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

MyDC.ru _ Безопасность [PtokaX] _ Opchecker

Автор: NikseR 27.11.2008, 0:01

Название скрипта: OpSecurity
Версия API: 1,2
Автор скрипта: ']['yphoon™
Год написания: 2006
Описание скрипта: Маленький скрипт, целью которого является обезопасить аккаунт ОПераторов и администраторов хаба от несанкционированного использования.

 OpChecker.lua ( 1.09 килобайт ) : 129
 OpChecker_API_2.lua ( 1.61 килобайт ) : 360
 

Автор: *FoxMalder* 27.11.2008, 0:14

кстати может кто нибуть доработать скрипт чтобы он сообщал в личку главному админу ip того кто пытается зайди под опским\админским акком?

Автор: Setuper 27.11.2008, 0:19

а что это так сложно сделать?

Код
local sOwnerNick="Вася"
Core.SendPmToNick(sOwnerNick,SetMan.GetString(21),"OpCheck: "..tUser.sNick.." ["..tUser.sIP.."]")

Автор: *FoxMalder* 27.11.2008, 0:56

а на 0360?

Цитата
local sOwnerNick=" » » »^†  Fox Malder  †^« « « "
user:SendPmToNick(sOwnerNick,Bot,"OpCheck: "..tUser.sNick.." ["..tUser.sIP.."]")

Автор: Setuper 27.11.2008, 1:02

Код
SendPmToNick(sOwnerNick,frmHub:GetHubBotName(),"OpCheck: "..tUser.sName.." ["..tUser.sIP.."]")


Вроде как уже давно со скриптами работаешь и не можешь перевести на API1 такой лёгкий скрипт? Я просто поражаюсь.

Автор: *FoxMalder* 27.11.2008, 1:27

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

Автор: Setuper 27.11.2008, 1:34

просто в скрипт кто-то подписал Unban - это надо удалить! Вместо этого вставь эту функцию

Автор: *FoxMalder* 27.11.2008, 1:39

не работает
op_check.lua:52: attempt to index global 'tUser' (a nil value)
как раз та строчка что ты дал

Автор: Setuper 27.11.2008, 1:45

ппц... ну так замени таблицу tUser на ту таблицу которая в скрипте (user)! ппц... хотя бы что-то сделай, совсем что ли без головы?

Автор: *FoxMalder* 27.11.2008, 1:54

не суждено мне в скриптах разбираться если даже такой чепухи не вижу(

Автор: Lex 14.2.2009, 16:54

Замутите этот скрипт рабочим для птоки 0.4.1.1 а потом выкладывайте.

Автор: Wariner 14.2.2009, 19:05

Спокойнее выражайтесь! Если скрипт не работает укажите в чём проблема!!!

Автор: Николай 19.2.2009, 21:06

Сделайте плз чтоб каждому оператору не определеный ип адрес был а определеный диапозон ипов 192.168.1.2-192.168.20.1

Автор: Setuper 20.2.2009, 18:27

Для таких случаев можно вписать вместо ip слово dynip.

Автор: Николай 20.2.2009, 21:53

Ну плз скрипт... а то не наю как там делать)

Автор: Wariner 22.2.2009, 10:59

если у ттк динамические ипы, то зачем использовать этот скрипт?! Он основан на том что конкретный ип связан с конкретным ником. Если же заменить один ип на диапазон то вся защита пропадает!!!

Автор: Николай 22.2.2009, 11:09

))) у нас в ТТК (кста ты откуда узнал что у мя ттк?) люди не такие хакеры) Мне имено чтоб с внещки на операторские акаунты не могли зайти =)

Вообщем мне надо просто диапозон чтоб был) плз сделайте..

Автор: Wariner 22.2.2009, 11:25

Ефремов - Тульская область. А там только ТТК. насчёт скрипта, может вечерком сделаю...

Автор: Николай 22.2.2009, 12:12

Лан спс)

Автор: Wariner 24.2.2009, 19:17

Поправил пару ошибок в скрипте под API 2 и добавил диапазон ипов

Автор: Николай 24.2.2009, 19:48

Спасибо тебе огромное, Добрый Человек!)

Автор: Николай 5.3.2009, 17:25

Скажите плз что нужно сделать чобы при бане в этом скрипте в оп чат ип баненого отправлялся =)

Автор: Wariner 5.3.2009, 17:41

Код
            local msg = "\r\n\t\tВы были забанены за несанкционированное использование аккаунта ОПератора хаба!"..
                "\r\n\t\tЕсли Вы действительно ОПератор хаба и просто сменили свой IP-адрес, то"..
                "\r\n\t\tСвяжитесь с администратором хаба: "..tSetup.Email
            Core.SendToUser(user, "<"..tSetup.Bot.."> "..msg)
                        Core.SendToOpChat("юзера с ип "..user.sIP.." забанило за несанкционированное использование аккаунта ОПератора хаба")
            Core.Disconnect(user)
            BanMan.BanIP(user.sIP, "Подделка ника администрации", tSetup.Bot, true)


Цитата(bonch @ 1.3.2009, 18:06) *
Уважаемые, здравствуйте. Прошу понять меня правильно, вопрос: возможно ли на базе этого скрипта создать новый для привязки ника регистрируемого к его IP. Или если есть подобные аналоги, тыкните пальцем.

ищи скрипт регистрации с защитой по ип!

Автор: d00ker 18.3.2009, 1:02

Подскажите пожалуйста, как например надо вписывать ники и ip адреса ОПераторов и Мастеров хаба. А если ip динамические! как быть?!

Автор: Wariner 18.3.2009, 8:20

там внутри скрипта привидены примеры! я говорю о API 2!

Автор: Andrey_SHANDERA 18.3.2009, 15:34

У меня все равно пропускает под левым ИП адресом.. ((( И вот такая ошибка вылезла OpChecker_API_2.lua:39: attempt to index local 'sIP' (a nil value)

Автор: Andrey_SHANDERA 18.3.2009, 17:41

OpChecker_API_2.lua:39: attempt to index local 'sIP' (a nil value) Эта же ошибка и можно зайти под любым ип адресом. Все скрипты вырубил. Только этот оставил. Вчем может быть проблема не пойму... Ни чего ни меняю... Только вписываю свой ник, и ип. И любой может зайти.

Автор: Wariner 18.3.2009, 18:14

Поправил протестировал перезалил в первый пост!

Автор: d00ker 18.3.2009, 18:37

["admin"] = "127.0.0.2", -- привязка к IP
["oper"] = "dynip", -- динамический IP
["-=Wariner=-"] = {"127.0.0.0", "127.0.0.20"}, -- привязка к диапазону



чтозначит каждая строчка?! в смысле, че за привязка к ай-пи?! че за привязка к диапазону?! в "dynip" что писать надо?!

Автор: Wariner 18.3.2009, 19:20

ну знаете народ если это не понятно комент то я уже не знаю как и писать....

Цитата
["admin"] = "127.0.0.2", -- привязка к IP
["oper"] = "dynip", -- динамический IP
["-=Wariner=-"] = {"127.0.0.0", "127.0.0.20"}, -- привязка к диапазону

Итак
привязка к IP - если ты заведомо знаешь IP и ник оператора и уверен что он меняться не будет
привязка к диапазону - если ты заведомо знаешь диапазон IP которым пользуется оператор и его ник
динамический IP - значит что ип оператора меняется не пойми как(в принципе в этом случае можно попросту не добавлять ник оператора в таблицу)

Автор: Andrey_SHANDERA 18.3.2009, 19:32

Спасибо, теперь всё работает! Ни ужели ни кто не тестил? Все просто тупо качали и запускали? Хех

Автор: d00ker 18.3.2009, 19:43

поняЛ!!! а вот как узнать диапазон ай пи ?!

Автор: Wariner 18.3.2009, 19:48

как правило если динамические IP не часто меняются то операторы меняют их сами чтоб избежать бана. так что все вопросы к своим людям

Автор: d00ker 19.3.2009, 0:46

ну вот раз в 12 часов происходит смена ай пи...

Автор: Al-j® 2.7.2009, 9:16

["-=Wariner=-"] = {"127.0.0.0", "127.0.0.20"}, -- привязка к диапазону

А можно поставить 2 ипа? У меня оп на хабе с динамическим IP, но их только два и они абсолютно разные. Не помню какие точно, но примерно это выглядит так:
IP#1 88.256.45.78
IP#2 97.48.522.45

ипы "от балды" написаны

Ещё вопрос, довольно-таки глупый


function ValidateNickArrival(user)
--Core.SendToUser(user, )
if OpSecurity[user.sNick] then

Что тут закоментировано? big_smile.gif

Автор: Wariner 2.7.2009, 9:32

можно писать так

Код
OpSecurity = {
    ["Admin"] = "127.0.0.1",                                -- привязка к  IP
        ["Admin"] = "10.10.10.1",
    ["OP"] = "dynip",                                  --  динамический IP
    ["OP2"] = {"127.0.0.2", "127.0.0.20"},       -- привязка к диапазону
    }

но при этом функцию надо привести в такой вид:
Код
function ValidateNickArrival(user)
    if OpSecurity[user.sNick] then
        for i,v in pairs(OpSecurity) do
            if i == user.sNick then
                if ((v == user.sIP) or (v == "dynip")) or ((type(v) == "table") and (Ip2Num(user.sIP) >= Ip2Num(v[1])) and (Ip2Num(user.sIP) <= Ip2Num(v[2]))) then
                    Core.SendToUser(user, "<"..Bot.."> Проверка IP-адреса пройдена!")
                    return true
                end
            end                
        end
    end    
    local msg = "\r\n\t\tВы были забанены за несанкционированное использование аккаунта ОПератора хаба!"..
                "\r\n\t\tЕсли Вы действительно ОПератор хаба и просто сменили свой IP-адрес, то"..
                "\r\n\t\tСвяжитесь с администратором хаба: "..Email
    Core.SendToUser(user, "<"..Bot.."> "..msg)
    Core.Disconnect(user)
    BanMan.BanIP(user.sIP, "Подделка ника администрации", Bot, true)    
end


пробуй

Автор: vad 9.12.2009, 8:16

Загрузил скрипт OPChecker ошибок не выдаёт указал ник соответсвующий айпи начал проверять когда заходят с другога айпи то почему то не банил а в птохе такая ошибка : Ptokax_0.4.11\scripts\OpChecker.lua:43:attempt to call fild 'Ban' (a nil value) понятно что это про бан а что имено не понятно или чета нехватает ???????? помогите разобраться

Автор: Alexey 9.12.2009, 16:53

Скрипт из первого поста?

Автор: vad 10.12.2009, 4:05

Скрипт из первогопоста выдаёт серано ошибка OpChecker_API_2.lua:39: attempt to index local 'sIP' (a nil value) Хотя писали что устранили как такль тестирую скрипт он выдаёт ашибку

Автор: Alexey 10.12.2009, 5:37

В скрипте из первого поста строка с номером 39 пуста. Либо ты что-то наизменял, либо это не скрипт из первого поста.

Автор: X-Sky 6.12.2010, 8:21

Цитата(Wariner @ 2.7.2009, 13:32) *
можно писать так
Код
OpSecurity = {
    ["Admin"] = "127.0.0.1",                                -- привязка к  IP
        ["Admin"] = "10.10.10.1",
    ["OP"] = "dynip",                                  --  динамический IP
    ["OP2"] = {"127.0.0.2", "127.0.0.20"},       -- привязка к диапазону
    }

но при этом функцию надо привести в такой вид:
Код
function ValidateNickArrival(user)
    if OpSecurity[user.sNick] then
        for i,v in pairs(OpSecurity) do
            if i == user.sNick then
                if ((v == user.sIP) or (v == "dynip")) or ((type(v) == "table") and (Ip2Num(user.sIP) >= Ip2Num(v[1])) and (Ip2Num(user.sIP) <= Ip2Num(v[2]))) then
                    Core.SendToUser(user, "<"..Bot.."> Проверка IP-адреса пройдена!")
                    return true
                end
            end                
        end
    end    
    local msg = "\r\n\t\tВы были забанены за несанкционированное использование аккаунта ОПератора хаба!"..
                "\r\n\t\tЕсли Вы действительно ОПератор хаба и просто сменили свой IP-адрес, то"..
                "\r\n\t\tСвяжитесь с администратором хаба: "..Email
    Core.SendToUser(user, "<"..Bot.."> "..msg)
    Core.Disconnect(user)
    BanMan.BanIP(user.sIP, "Подделка ника администрации", Bot, true)    
end


пробуй


Можно для API2?

Автор: ustas 6.12.2010, 9:37

а разве этот код не для API 2 ?? ;)

Автор: X-Sky 8.12.2010, 20:52

ustas, сорри, тупанул спросони)

Автор: X-Sky 10.12.2010, 20:01

Wariner, пропускает оператора только если он заходит на хаб под 2-ым IP, который указан в таблице.
Например, если я пишу:

Код
OpSecurity = {
    ["X-Sky"] = "127.0.0.1",                                -- привязка к  IP
        ["X-Sky"] = "84.25.15.15",
    }

то пропустит меня на хаб только с IP 84.25.15.15
Это я про этот пост: http://mydc.ru/ipb.html?act=findpost&pid=17798

Как исправить?

Автор: ustas 10.12.2010, 21:55

как вариант

Код
OpSecurity = {
    ["X-Sky"] = "127.0.0.1",
    }

OpSecurity2 = {
    ["X-Sky"] = "84.25.15.15",
    }


в функции ValidateNickArrival(user) изменить
Код
if OpSecurity[user.sName] or OpSecurity2[user.sName] then
        local Name = user.sName
        if ((tSetup.OpSecurity[Name] == user.sIP) or (tSetup.OpSecurity[Name] == "dynip") or (tSetup.OpSecurity2[Name] == user.sIP)) then

Автор: X-Sky 10.12.2010, 22:06

ustas, спасибо, я уже исправил.

Автор: MIKHAIL 23.1.2013, 22:58

Полезно было бы привязать ещё и к имени хоста.

Автор: Saymon21 24.1.2013, 0:32

MIKHAIL, Какого хоста?