Бан По Днс, подскажите кто в курсах |
Здравствуйте, гость ( Вход | Регистрация )
Бан По Днс, подскажите кто в курсах |
11.10.2008, 0:27
Сообщение
#1
|
|
Начинающий Группа: Пользователи Сообщений: 29 Регистрация: 15.9.2008 Пользователь №: 541 Спасибо сказали: 0 раз |
мне бы знать как банить на птоке 0360 по днс.
ато юзера забаненные по диапазону айпи, всеравно заходят и портят настроение. если кто знает как. это делать опишите заранее спасиб. кароче какойто глюк, я забанил по днс, и перед тем как забанить увидел инфо о хосте! дело было сделано, чел был забанен, но чтото пошло не так, и этот юзер по новой зашел когда я захотел узнать какой же теперь у него хост, то в ответ скрипт пишет "в логах не значитса имя компа юзера! и все этот щегол засрал всех и вся, пришлося вырубить хаб! как решать эту траблу ааа? нужен скрипт под api 1 |
|
|
11.10.2008, 0:52
Сообщение
#2
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Самой птокой - никак, можно использовать доп. библиотеки для скрипта, но там есть 1 проблема: если за ip нет записи на DNS-сервере, то библиотека виснет на некоторое время, от 1 до 20 секунд. А имя хоста определяется каждый раз при заходе юзера (надо чтобы знать забанен он или нет) и когда ты пытаешься забанить пользователя, так что хаб начнет жутко тормозить и превратится в один сполшной лаг. Чтобы ты попробовал, даже нашел у себя скрипт бана по днс, который я еще давно-давно пытался сделать, апи 1, работает с библиотекой PXLuaSocket.
Прикрепленные файлы
|
|
|
13.10.2008, 23:01
Сообщение
#3
|
|
Начинающий Группа: Пользователи Сообщений: 29 Регистрация: 15.9.2008 Пользователь №: 541 Спасибо сказали: 0 раз |
там знаеш че у тебя с скриптом: там когда даеш команду проверит днс, ищет и находит, но когда начинаеш банить скрипт просто "отлетает".
То есть, в списке скриптов исчезает галочка, и нада по новой ставить галочку чтоп он заюзан был. Но все что можно сделать с этим скриптом это узнать днс не более. |
|
|
14.10.2008, 0:02
Сообщение
#4
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Хм, странно, а какую ошибку выдает скрипт?! И у тебя он не подвешивает хаб?
|
|
|
14.10.2008, 13:43
Сообщение
#5
|
|
Начинающий Группа: Пользователи Сообщений: 29 Регистрация: 15.9.2008 Пользователь №: 541 Спасибо сказали: 0 раз |
|
|
|
14.10.2008, 17:25
Сообщение
#6
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
А в окне ошибок скриптов есть ошибки? У меня есть, не знаю почему такой косяк, видимо как-то сменил функцию на новую:
Цитата Синтакс D:\0.3.6.0\scripts\HostBan.lua:87: attempt to call global 'SaveFile' (a nil value) Замени в функции OnExit() SaveFile на SaveToFile. После этого скрипт работает как надо, у меня по крайней мере...
|
|
|
17.10.2008, 16:31
Сообщение
#7
|
|
Начинающий Группа: Пользователи Сообщений: 29 Регистрация: 15.9.2008 Пользователь №: 541 Спасибо сказали: 0 раз |
спасибо, все работает, забанил адного вредителя, который месяц мозг еп. ыыыыыыыы.
|
|
|
17.10.2008, 21:18
Сообщение
#8
|
|
Освоившийся участник Группа: Пользователи Сообщений: 280 Регистрация: 4.6.2008 Из: Россия Пользователь №: 10 Спасибо сказали: 42 раза |
На API 2 можете этот скрипт перевести?
|
|
|
17.10.2008, 22:30
Сообщение
#9
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Можем, я вот попробовал, пробуй что вышло.
Прикрепленные файлы
|
|
|
25.10.2008, 15:23
Сообщение
#10
|
|
Освоившийся участник Группа: Пользователи Сообщений: 280 Регистрация: 4.6.2008 Из: Россия Пользователь №: 10 Спасибо сказали: 42 раза |
Цитата [18:20:40] <[Bot]Leviathan> *** Пользователь Infernus-pro [192.168.*.*] с хостом *** забанен! Вот это выдает, но не банит, ничего вообще не происходит. |
|
|
29.10.2008, 0:14
Сообщение
#11
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 8 Регистрация: 6.10.2008 Из: Тула Пользователь №: 739 Спасибо сказали: 4 раза |
у меня такая же проблема как и у Infernus-pro , бот абсолютно тоже выдаёт. Как же быть ?
|
|
|
30.10.2008, 11:57
Сообщение
#12
|
|
Постоялец Группа: Пользователи Сообщений: 462 Регистрация: 20.10.2008 Пользователь №: 843 Спасибо сказали: 15 раз |
Не понял. Что именно узнаёт скрипт?
|
|
|
30.10.2008, 12:30
Сообщение
#13
|
|
Освоившийся участник Группа: Пользователи Сообщений: 307 Регистрация: 11.7.2008 Пользователь №: 173 Спасибо сказали: 31 раз |
To: Delion
Цитата socket.dns.tohostname(address)
Converts from IP address to host name. Address can be an IP address or host name. The function returns a string with the canonic host name of the given address, followed by a table with all information returned by the resolver. In case of error, the function returns nil followed by an error message. |
|
|
30.10.2008, 23:12
Сообщение
#14
|
|
Постоялец Группа: Пользователи Сообщений: 462 Регистрация: 20.10.2008 Пользователь №: 843 Спасибо сказали: 15 раз |
Честно говоря,мало что понял.
Короче,можно ли таким макаром банить хабовладельцев? Типа вбить хост хаба - а на выходе получать вечно забаненного хостера? |
|
|
2.11.2008, 9:15
Сообщение
#15
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
Спасибо Nickolya за скрипт (под старый API имею в виду), вроде, в первом приближении, работает.
Есть пара вопросов. Верный ли список необходимых файлов для работы скрипта у меня в папке Libs? Или напротив, может, что лишнее тут? Цитата socket.lua PXSocket.tds PXSocket.dll PXMime.tds PXMime.dll mime.lua Itn12.lua И еще вопрос. Насколько я понял, скрипт пробивает имя хоста при каждом входе юзера, и тормозить и вешаться он должен, когда это имя установить не удается. Я попробовал отключить одного юзера, у которого Цитата Имя компьютера пользователя с IP **.**.**.** не установлено! и посмотреть, что будет при реконнекте. Никаких особых тормозов отмечено не было.Все ли тут верно? Ptoka 0.3.6.0 Lua5.1.2 А вообще, в идеале, неплохо было бы подчинить этот скрипт двум другим, которые банят за порнуху (по ТТН) и за мат в чате :-) Да, и еще вопрос есть злободневный. Сейчас основной режим банов - fullban : Цитата <Ban> <Type>0</Type> <IP>**.***.**.***</IP> <Nick>Ник</Nick> <Reason>Причина</Reason> <By>Бот</By> <NickBan>1</NickBan> <IpBan>1</IpBan> <FullIpBan>1</FullIpBan> <Expire>0</Expire> </Ban> Чем тут FullIpBan отличается от просто IpBan? До сих пор не могу найти внятного ответа. Собственно, поэтому и заинтересовался выложенным скриптом, что на днях случился прецедент: правильный юзер с динамическим IP попробовал зайти, но наткнулся на бан по айпи, выписанный другому, неправильному юзеру. Спасибо. Дополнено: Погоняв скрипт на разных режимах, немного его подредактировал. Убрал загадочную строчку "ValidateNickArrival" и приписал Disconnect. Какой же бан без дисконнекта? Ну и еще кое-что по мелочи, названия опций, блокировка пролезания команды в главный чат, везде SaveToFile вместо SaveFile. И тут встала другая проблема. Юзеры с оговоренными в начале скрипта профилями все равно будут иметь доступ на хаб, но дисконнект и внесение в tbl-файл имени хоста произойдет, если дрогнет рука и под бан попадет не тот, кто надо. Поэтому хорошо бы поставить наличие профиля юзера в списке неприкасаемых критерием не только входа на хаб, но и не-попадания под бан по ошибке. Опыта скриптописания у меня нет, как это реализовать при существующей архитектуре скрипта пока что не знаю. Может быть, более опытные товарищи подскажут? Креплю свою редакцию, на всякий случай. Сообщение отредактировал district - 3.11.2008, 21:51
Прикрепленные файлы
|
|
|
2.11.2008, 20:21
Сообщение
#16
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Про то что нет тормозов рад, пользуйте. Про файлы в папке не парься, если есть лишние, то тебе они не особо мешают, всё это входит в состав библиотеки, главное чтобы работало. ФулБан - вариант бана после которого забаненый юзер с привилегией захода под баном не сможет зайти на хаб, т.е. привилегия не работает. Про код ничего не знаю, у меня всё работает на ура, забаненый юзер не может зайти, вся логика скрипта работает, команды в чат не идут и т.д., смотрите сами...
Реализация проерки на стойкость к бану выглядит так: Код elseif sCmd == "nickhostban" then
local _,_, sNick = string.find(sData, "%b<>%s+%S+%s+(%S+)") local tNeedUser = GetItemByName(sNick) if tNeedUser then local sHost = tohostname(tNeedUser.sIP) if sHost then if tHostBans[sHost] then curUser:SendData(sBot, "*** Хост "..sHost.." уже забанен!") else if tCanBeBanned[tNeedUser.iProfile] == 1 then tHostBans[sHost] = 1 SaveToFile(sBansFile, tHostBans, "tHostBans") tNeedUser:Disconnect() curUser:SendData(sBot, "*** Пользователь "..sNick.." ["..tNeedUser.sIP.."] с хостом "..sHost.." забанен!") else curUser:SendData(sBot, "*** Ты не можешь забанить пользователя "..sNick.." ["..tNeedUser.sIP.."] с хостом "..sHost.."!") end end else curUser:SendData(sBot, "*** Имя хоста пользователя "..sNick.." ["..tNeedUser.sIP.."] не установлено, бан по хосту не может быть применен!") end else curUser:SendData(sBot, "*** Пользователь "..sNick.." отсутствует на хабе! Из-за этого невозможно узнать имя компьютера этого пользователя!") end return 1 |
|
|
3.11.2008, 8:58
Сообщение
#17
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
2 Nickolya
спасибо за разъяснения начет фуллбана, будем работать дальше)) Ну вот, удалось внести кое-какие дополнения. Увлек меня этот скрипт, каюсь) Что сделано: 1. Добавлено сообщение "Вы забыли ввести ник юзера/имя хоста" в том случае, если команда вводится из строки главного чата; 2.Добавлено ограничение по профилям (CanBan) к каждой команде и сообщение "Извините, у вас нет права использовать эту команду" 3.Формат сообщения "Этого юзера нельзя забанить" изменен на такой: "Бан не может быть применен, пользователь имеет профиль <Vip, op и тд> ! 4.Мелкие косметические дополнения: а)Сообщение для забаненных "Вы были забанены на этом хабе..." плюс вызываемое из Птоки сообщение GetBanMsgAddMsg() б)Бан обычным способом, если извлечь имя хоста не удается в)Автоматическое удаление имени забаненного юзера из списка зарегистрированных Есть еще две задачи, которые хотелось бы решить. Попробую сам, конечно, но, возможно, без помощи автора скрипта обойтись не удастся. 1.Ввод, сохранение и показ при попытке входа забаненному причины бана 2.Мелкий дефект (у всех так или только у меня?) - смещение таблицы забаненных хостов (см.картинку) И в заключение один вопрос, на будущее. Можно ли как-нибудь сделать так, чтобы скрипт, который стоит выше в списке, получал и отрабатывал команду от скрипта, расположенного ниже? Звучит может быть дико, но все-таки?
Прикрепленные файлы
|
|
|
3.11.2008, 10:07
Сообщение
#18
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Смещение идет, может и мой косяк, уже не помню. Правится так: в коде команды "hostbanlist"
Код sNames = sNames.."\t• "..sHost.."\r\n\t" убираем \t в самом конце и все дела. Про причину бана: это делается не очень трудно, в исхдном виде таблица имеет вид tHostBans["имя_хоста"] = 1, тут если мы заменим единицу причиной бана, получится то что тебе надо, вывод причины будет тоже простой: Код sMsg = "Причина бана: "..tHostBans[sHost] Но везде где стоит условие if tHostBans[sHost] == 1 надо заменить на просто if tHostBans[sHost] Попробуй пока сам, спрашивай если что не так... А вообще, скрипт планировался как тихий бан, чтобы юзер не знал что его поразило, никаких сообщений быть не должно, но права делать под себя у вас никто не отменял, наоборот, очень хорошо когда скрипт выкладывают под своими редакциями. |
|
|
3.11.2008, 20:26
Сообщение
#19
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
Цитата скрипт планировался как тихий бан это понятно, вид бана как раз указывать совсем ни к чему)) однако, даже если скрипт стоит первым в списке, сообщение "Этот хаб работает под управлением PtokaX ... и тд" все равно успевает проскочить при попытке коннекта. По крайней мере, у меня так.(Может, есть способ отключить это сообщение?) Все чего пока добился - немного изменена идеология оповещений: прикладные оповещения оставлены curUser'у, а оповещения о бане по хосту, о никхостбане и о анбане переделаны на "SendToOps". Например: Пользователь <ник> [**.**.**.**] с хостом ****-********.**.ru забанен! Забанил: <профиль> <ник>. Ну и со сдвигом в таблице разобрался. А с записью доп. данных пока ступор. Записывать-то нужно еще и ник, если уж причину бана сохраняем.:-))) К тому же, вылезла еще одна, более насущная проблема. Скрипт иногда приходится отключать, по крайней мере на время отладки новых фич, и пока он выключен, на хаб пробираются забаненные вредители. Нужна дополнительная функция проверки юзеров на хабе на забаненность, вызываемая при старте скрипта. Подобным образом действует скрипт "Один айпи- один клиент" (прикрепляю на всякий случай), сразу же вышвыривает с хаба. Но у меня по образу и подобию соорудить функцию с наскока не получилось. Нужен совет.
Прикрепленные файлы
|
|
|
3.11.2008, 21:21
Сообщение
#20
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Для того, чтобы не появлялось сообщение "Этот хаб работает...", нужно все функции бана писать в функции ValidateNickArrival, однако, хоть эта функция и рассчитана на то, что все клиенты её поддерживают (в противном случае нет возможности проверить ник до коннекта), но на практике некоторые клиенты игнорируют команды этой функции, поэтому предлагается делать дублирование в функции UserConnected, что с точки зрения оптимизации не очень хорошо.
По поводу отключения скрипта хочу заметить, что хороший админ всегда тестирует скрипты на экспериментальном хабе, а потом уже устанавливает их на основной! |
|
|
|
Сейчас: 23.12.2024, 13:39 |