myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Скрипт Доступа По Списку Ip - Срочно, Не Просто Так!

Теги
Нет тегов для показа
Strem
сообщение 18.3.2009, 14:01
Сообщение #1


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 24.2.2009
Из: Киев
Пользователь №: 2 341
Спасибо сказали: 0 раз




Блокировался хаб при помощи средств провайдера, но сегодня нежданчик образовался:
http://uahub.info/forum/showthread.php?t=8378

Соответственно нужна блокировка по списку IP

PtokaX 0.4.1.1
Смотрите - есть возможность получать список в таком вот виде
http://www.colocall.net/uaix/ а точнее так: http://www.colocall.net/uaix/prefixes.txt (соответственно имя тхт лучше сразу идентичное)

Минимум необходимого:
- чтоб не впускало всех, кто не в этом списке, с выводом сообщения, почему.
- периодическая проверка (устанавливаемо, в часах) на принадлежность к списку тех, кто уже есть в хабе и кик с формулировкой (мол выпали из зоны)

Желательно, но то уже такое, чтоб автоматом получало список само - но это уже некритично, лапками буду или программер наш что-то реализует
(Луа, к сожалению, он не знает, а я вообще продвинутый юзверь)))

Буду весьма благодарен - могу предложить бартер, а именно рекламу у нас на месяцок - тут вот http://uahub.info/forum/showthread.php?t=7480 - банер 468*60 в частности, в хабе опять же.
Либо же wmz - достаточно символически правда, сами на мели...
Go to the top of the page
+Quote Post
Wariner
сообщение 18.3.2009, 21:34
Сообщение #2


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




ну вот в основу скрипта лёг скрипт башорга(чтоб не парится, спасибо Nickolya).
Скрипт при старте и раз в установленное время берёт ипы из инета, делает таблицку и на её основе решает пускать юзера или нет.
Мне кажется скрипт будет подтормаживать. Знающие люди вносите свои предложения)))

PS: для работы скрипта нужна библиотека http://mydc.ru/ipb.html?act=attach&type=post&id=74 класть в папку libs в папке scripts
Прикрепленные файлы
Прикрепленный файл  ExceptionsIPs.rar ( 7.98 килобайт ) Кол-во скачиваний: 16
 
Go to the top of the page
+Quote Post
Strem
сообщение 18.3.2009, 22:07
Сообщение #3


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 24.2.2009
Из: Киев
Пользователь №: 2 341
Спасибо сказали: 0 раз




Цитата(Wariner @ 18.3.2009, 20:34) *
ну вот в основу скрипта лёг скрипт башорга(чтоб не парится, спасибо Nickolya).
Скрипт при старте и раз в установленное время берёт ипы из инета, делает таблицку и на её основе решает пускать юзера или нет.
Мне кажется скрипт будет подтормаживать. Знающие люди вносите свои предложения)))

Спасибо - сейчас буду пытаться разобраться))
Если заработает - гуд, если нет - приду ныть снова. Чем могу отблагодарить? (В личку, если что))

апд
Библиотеку распаковал, куда сказано \0.4.1.1\scripts\libs - не папкой, а скопом типа, скрипт кинул как положено - и он работает, но лочит всех, без исключения - хотя список получен(((
Go to the top of the page
+Quote Post
Wariner
сообщение 18.3.2009, 22:10
Сообщение #4


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




лочит в смысле пускает?
Go to the top of the page
+Quote Post
Strem
сообщение 18.3.2009, 22:12
Сообщение #5


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 24.2.2009
Из: Киев
Пользователь №: 2 341
Спасибо сказали: 0 раз




Цитата(Wariner @ 18.3.2009, 21:10) *
лочит в смысле пускает?

Никого не пускает, в том числе и меня - хотя в уа (и в том списке) - 100%
Go to the top of the page
+Quote Post
Wariner
сообщение 18.3.2009, 22:19
Сообщение #6


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




добавь в скрипт
Код
function OnExit()
    WriteTable(tExceptionsIP, "tExceptionsIP", sExceptionsIP)
end

и посмотри что у тебя будет в таблице с ипами

я прописал диапазон для своего ип ручками и аккуратно зашёл)))
Go to the top of the page
+Quote Post
Strem
сообщение 18.3.2009, 22:36
Сообщение #7


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 24.2.2009
Из: Киев
Пользователь №: 2 341
Спасибо сказали: 0 раз




Цитата(Wariner @ 18.3.2009, 21:19) *
добавь в скрипт
Код
function OnExit()
    WriteTable(tExceptionsIP, "tExceptionsIP", sExceptionsIP)
end

и посмотри что у тебя будет в таблице с ипами

я прописал диапазон для своего ип ручками и аккуратно зашёл)))

Добавил - ничего не поменялось - к примеру мой ип 92.244.112.27 - в таблице он видимо тут:
[242] = {
[1] = "92.244.96.0",
[2] = "92.244.96.19",
Если это диапазон - может с перла некорректно перевело? В списке с колокола он так смотрится 92.244.96.0/19 по идее диапазон 92.244.96.0 - 92.244.99.255
Во всяком случае не пускает... ХЗ у меня уже мысли - открыть его шоле, да шумновато станет...
Go to the top of the page
+Quote Post
Wariner
сообщение 18.3.2009, 22:39
Сообщение #8


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




ну если ты не видишь то это точно не тот диапазон!!!
в него входят:
Цитата
92.244.96.0
92.244.96.1
92.244.96.2
92.244.96.3
92.244.96.4
92.244.96.5
92.244.96.6
92.244.96.7
92.244.96.8
92.244.96.9
92.244.96.10
92.244.96.11
92.244.96.12
92.244.96.13
92.244.96.14
92.244.96.15
92.244.96.16
92.244.96.17
92.244.96.18
92.244.96.19

твоего адреса нет в списке!!!
Go to the top of the page
+Quote Post
Strem
сообщение 18.3.2009, 22:42
Сообщение #9


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 24.2.2009
Из: Киев
Пользователь №: 2 341
Спасибо сказали: 0 раз




Цитата(Wariner @ 18.3.2009, 21:39) *
ну если ты не видишь то это точно не тот диапазон!!!

твоего адреса нет в списке!!!

Скорее на колоколе своя система, автоматически на перле должен обрабатываться, или переводить в понятную птоке систему корректно, появится программер наш - 100% обзовет обоих идиотами (меня так точно)))
Go to the top of the page
+Quote Post
Wariner
сообщение 18.3.2009, 22:45
Сообщение #10


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




Это ты про что???? айпи есть айпи!!!!
Go to the top of the page
+Quote Post
Strem
сообщение 18.3.2009, 22:51
Сообщение #11


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 24.2.2009
Из: Киев
Пользователь №: 2 341
Спасибо сказали: 0 раз




Цитата(Wariner @ 18.3.2009, 21:45) *
Это ты про что???? айпи есть айпи!!!!

Та понятно - наши там тоже с переформатом баловались - нифига не вышло, корявые диапазоны даёт (может на колоколе слагали) - они такой пример скрипта дают http://www.colocall.net/ua/check_ukr.cgi
Ладно - утро вечера мудреннее, припрется наш гений машинных языков, дам ему весь материал - он скорее разберется, тем более с колоколовской базой кже работал.

Как только - так отпишусь feel_good.gif
Go to the top of the page
+Quote Post
Firstborn
сообщение 19.3.2009, 0:14
Сообщение #12


Абсолютный новичок


Группа: Пользователи
Сообщений: 4
Регистрация: 18.3.2009
Пользователь №: 2 647
Спасибо сказали: 0 раз




Если можно, можете немножко проверку переписать в том скрипте, а то мне сложно будет учить еще 1 язык програмирования, я напишу по русски как хотелось бы:

Взять IP юзверя к примеру:
27.127.54.22 (абсолютно от болды, любое совпадение случайно), и конвертировать по принципу:

27 = 11011; 127 = 1111111; 54 = 110110; 22 = 10110;

27.127.54.22 = 0001 1011 . 0111 1111 . 0011 0110 . 0001 0110

0001 1011 0111 1111 0011 0110 0001 0110 = 461 321 750;

и взять с таблицы значение диапазона "от" и "до" и сравнить по принципу

Код
    если IP < "до" И IP > "от" то
        пустить
     в ином случае
        послать


Таблица генерируется тем же принципом что и конкретный IP, т.е десятичными айпишниками.

Генерацию таблицы можно не писать, я ее сам напишу в том же php.

З.Ы. Надо отредактить Ip2Num(sIP) что бы возвращала число и в строке:
Код
if (Ip2Num(tUser.sIP) >= Ip2Num(v[1])) and (Ip2Num(tUser.sIP) <= Ip2Num(v[2])) then

сделать банальную числовую проверку.
Go to the top of the page
+Quote Post
Setuper
сообщение 19.3.2009, 1:53
Сообщение #13


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




А она (функция Ip2Num) по твоему не число возвращает? Она делает именно то, что ты описал, но минуя бессмысленный этап перевода в бинарный вид, приводя сразу строковое значение ip адреса в число.

Эту функцию не надо корректировать. Неужели так сложно догадаться как это сделать. Для этого не надо знать язык lua.

Код
if (Ip2Num(tUser.sIP) >= v[1]) and (Ip2Num(tUser.sIP) <= v[2]) then


В файле диапазонов, соответственно, пишешь не строковые значения ip адресов, а их числовые представления.
Go to the top of the page
+Quote Post
Firstborn
сообщение 20.3.2009, 2:50
Сообщение #14


Абсолютный новичок


Группа: Пользователи
Сообщений: 4
Регистрация: 18.3.2009
Пользователь №: 2 647
Спасибо сказали: 0 раз




Прикольный алгоритм, ех век живи век учись. Ну вроде бы понятно. Дальше проблему думаю сам решу.

Таблица генерится таким вот образом:
Код
tExceptionsIP = {
    [1] = {
        [1] = "1041235968",
        [2] = "1041244160",
    },
    [2] = {
        [1] = "1044398080",
        [2] = "1044414464",
    },
    [3] = {
        [1] = "1044946944",
        [2] = "1044955136",
    },


Проверочная строка:
Код
for i,v in ipairs(tExceptionsIP) do
        if (Ip2Num(tUser.sIP) >= v[1]) and (Ip2Num(tUser.sIP) <= v[2]) then


Что мне надо мне написать что бы оно не писало вот это:
Цитата
[20:46] Синтаксис ...\scripts\ExceptionsIPs.lua:19: attempt to compare string with number


на выше указанную строку.

Я логично понимаю что не совместимость типов, но какое там слово/ф-ция что бы сказать скрипту что это число.
Go to the top of the page
+Quote Post
Setuper
сообщение 20.3.2009, 2:54
Сообщение #15


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Код
tExceptionsIP = {
    [1] = {
        [1] = 1041235968,
        [2] = 1041244160,
    },
    [2] = {
        [1] = 1044398080,
        [2] = 1044414464,
    },
    [3] = {
        [1] = 1044946944,
        [2] = 1044955136,
    },
Чуешь разницу?
Go to the top of the page
+Quote Post
Firstborn
сообщение 20.3.2009, 3:07
Сообщение #16


Абсолютный новичок


Группа: Пользователи
Сообщений: 4
Регистрация: 18.3.2009
Пользователь №: 2 647
Спасибо сказали: 0 раз




ыыы baffle.gif , ступил, капец.

Просто везде по разному, я думал оно конвертнет строку в число (если она число), как в принципе все скриптовые без типов.
Go to the top of the page
+Quote Post
Setuper
сообщение 20.3.2009, 3:19
Сообщение #17


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




преобразование типов происходит, когда применяешь какую либо операцию, например конкатенацию или умножение, а в данном случае происходит сравнение, и сравнение должно производиться исключительно между числами, но никак не между числом и строкой.

Хотя можно написать так:
Код
if (Ip2Num(tUser.sIP) >= tonumber(v[1])) and (Ip2Num(tUser.sIP) <= tonumber(v[2])) then
тогда строки будут преобразовываться в числа и сравниваться уже будут числа
Go to the top of the page
+Quote Post
Firstborn
сообщение 20.3.2009, 3:48
Сообщение #18


Абсолютный новичок


Группа: Пользователи
Сообщений: 4
Регистрация: 18.3.2009
Пользователь №: 2 647
Спасибо сказали: 0 раз




Цитата(Firstborn @ 20.3.2009, 2:07) *
ыыы baffle.gif , ступил, капец.

Просто везде по разному, я думал оно конвертнет строку в число (если она число), как в принципе все скриптовые без типов.





----

Всем огромное спасибо за содействие, скрипт заработал.
Go to the top of the page
+Quote Post
Strem
сообщение 20.3.2009, 4:16
Сообщение #19


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 24.2.2009
Из: Киев
Пользователь №: 2 341
Спасибо сказали: 0 раз




Ага, с грехом пополам, общими усилиями))
Дайте плз банер свой 468*60 (картинку либо код) - ну или текст рекламного объявления - цепану у нас новостью на несколько дней - потом в раздел рекламы уползет (хотя та тема была чуть ли не лучшей рекламой))
Ну или другие варианты - в любом случае, большое спасибо feel_good.gif
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new Topic has attachmentsНерабочий скрипт ВИПа по шаре
16 Damaks 20 047 23.2.2023, 7:16 Посл. сообщение: mod
No new Topic has attachmentsMagneto - Бесплатный Скрипт Портала Обмена Dc-ссылками Для Локальной Сети
26 UserSide 41 239 27.8.2019, 11:01 Посл. сообщение: CyberGhost404
No New Posts От: Новогодний Скрипт
От темы с ID: 871
0 Евгений 3 182 15.10.2018, 21:44 Посл. сообщение: Евгений
No New Posts А бывают такой скрипт бота?
Скрипт который создает виртуалных юзеров, но с реальными шарами
5 MarkDark 8 136 26.12.2017, 10:47 Посл. сообщение: мамин_парень
No New Posts Скрипт: Бот который отвечает в лс
4 мамин_парень 7 817 11.11.2017, 5:57 Посл. сообщение: мамин_парень
No New Posts как сделать вот этот скрипт
12 мамин_парень 12 575 13.9.2017, 10:51 Посл. сообщение: dimetro
No New Posts Topic has attachmentsИщу скрипт переадресации (redirect)
Переадресация интернет-юзеров
3 AS_Com 7 214 27.8.2017, 8:05 Посл. сообщение: Ksan
No New Posts Topic has attachmentsСкрипт Thunder.lua
7 Евген76 15 315 9.8.2017, 11:48 Посл. сообщение: Ksan
No New Posts Требуется скрипт
Нужен скрипт запрета на подключение
5 Nikolaevich 9 499 20.8.2016, 19:52 Посл. сообщение: Ksan
No new ВАЖНО: Topic has attachmentsСкрипт банов для RusHub
тестим и комменьтруем
79 Wariner 104 604 28.9.2015, 13:34 Посл. сообщение: NeirRon
No New Posts Скрипт загрузки файла
1 FreeNas 6 426 21.7.2015, 10:58 Посл. сообщение: HackFresse
No new Как вызвать bash скрипт из Lua
14 Iskandark 17 317 3.3.2015, 12:42 Посл. сообщение: Iskandark
No new Topic has attachmentsНовогодний Скрипт
API2
22 Tsd 35 632 12.12.2014, 16:28 Посл. сообщение: Tsd
No New Posts Скрипт запрета видеть чат
запрет видеть чат
2 dimetro 7 292 5.12.2014, 17:37 Посл. сообщение: dimetro
No New Posts Topic has attachmentsпеределать скрипт kinozal.tv
6 BOKOREZ 13 006 30.10.2014, 18:29 Посл. сообщение: Dani_Filth

 



RSS Сейчас: 26.11.2024, 23:14