Whois Ban (боремся с прокси) |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Whois Ban (боремся с прокси) |
SISA
|
21.6.2019, 21:01
Сообщение
|
|
|
В виду большого количества тем и явной потребности в подобной системе, выкладываю свою наработку.
Что делает плагин ? Через стандартный модуль sockets, он обращается на API сайта для получения Whois данных. К сожалению, альтернативных сайтов практически нет, т.к. все перешли на https, а предлагаемый AMX модуль такое не поддерживает (правда есть сторонние решения в виде модуля Curl, но об этом в другой раз). Сайт ip-api.com имеет ряд ограничений на бесплатном тарифе (регистрация не требуется), по этому в плагине встроено кеширование, чтобы он по дружески относился к вашему серверу и сайту. Что можно получить через Whois данные ? В нашем случае, мы можем получить самое главное - это AS провайдера (), с которого заходит игрок. Проще говоря, нам не нужно определять диапазоны IP адресов и заниматься подобной дичью, а можем выдавать бан сразу по AS, отрубив всего провайдера целиком. Подобную идею реализовал Lev и своем плагине СубнетБан, в виде отдельного амх модуля, но та разработка реально старая, а модуль на новых билдах серверов (в частности на линуксе), толком не работает. Код для этого плагина я писал для себя, чтобы бороться с обходами. Весь код снабжен комментариями. Можете использовать в своих целях. Ничего подобного по реализации вы в Интернетах не найдете. Используются отложенные запросы, что не вызывает фризов на сервере, но на всяких случай в плагин встроен предохранитель, отключающий его работы, если по какой-то причине функция socket_open начнет капризничать. Как это работает ? При получении данных с Whois через Api, плагин их кеширует и сверяется со списком из файла whois_banlist.ini Если AS игрока совпадает, он кикается. В сам файли я уже добавил несколько AS хостингов и дата-центров из сообщения: Я предлагаю продолжить тему и публиковать IP адреса AS провайдеров игроков, которые играют через прокси. Я, по мере возможности, буду их добавлять и обновлять список. Что такое Whois данные и что с ними делать ? Самый простой способ получения Whois данных и AS по IP адресу здесь: Отличить хостинг/дата-центр от домашнего провайдера достаточно легко. Многие указывают в данных слова Hosting, vds, и т.д. Так же, практически всегда есть почта, которая и является сайтом провайдера или название фирмы, которое легко гуглится. С хостингов и дата-центров обычные игроки не заходят. Минимальные требования: Amxmdox 1.8.3 и выше с поддержкой SOCK_NON_BLOCKING Дополнительно: В плагин добавлено логгирование, в тех случаях, когда не удается получить ответ от сайта или определить AS. Это бывает редко и я грешу на сам модуль sockets, т.к. тот же Curl справляется с более сложными задачами без проблем.
Отредактировал: SISA, - 22.6.2019, 15:37
Прикрепленные файлы:
whois_ban.zip ( 3,7 килобайт )
Кол-во скачиваний: 52
whois_ban_v2.zip ( 5,31 килобайт )
Кол-во скачиваний: 43 |
Поблагодарили 6 раз
|
|
vladboss
|
21.6.2019, 21:40
Сообщение
|
![]() |
Еще один из вариантов
|
|
|
|
SISA
|
21.6.2019, 22:12
Сообщение
|
|
|
Цитата Также есть модуль http://aghl.ru/forum/viewtopic.php?f=19&p=24798 который умеет напрямую брать данные с whois без постороннего API. Он использует такой же Api, только от другого сайта, но работает по https. После установки его на Линукс сервер, я получил +20% к нагрузки + там есть ошибки (в теме на aghl о них писал). Цитата Читал ваше сообщение и возник вопрос. А почему не хранить диапазон IPшников выдаваемый whois? Разве их диапазоны часто изменяются? Вопрос конешно глупый: но хотелось бы для себя уточнить Для этого есть база от maxmind https://dev.maxmind.com/geoip/geoip2/geolite2/ но разработчики AMX отказываются делать реализацию для её работы. Цитата Еще один из вариантов жмяк. Опять же, там отдельный модуль Curl и Whois (о котором выше писал), что может вызвать страдания у перфекционистов. У меня же, все реализовано дефолтными возможностями с минимальным количеством кода. Но идея с проверкой через мне понравилась. Реализую в след.версии плагина.
Отредактировал: SISA, - 21.6.2019, 22:32
|
Поблагодарили 3 раз
|
|
Legenda
|
22.6.2019, 5:55
Сообщение
|
![]() ![]() |
отлично, но так скоро можно дойти до открытия собственного стороннего сервера регистрации игроков... что бы бане не обходили, либо на steam
|
Поблагодарили 2 раз
|
|
![]() ![]() |