Просмотр полной версии : Как реализовать бан по подсети?
Можете в общих чертах рассказать как организуется бан по подсети? Это бан айпи адресов в каких-то диапазонах?
И если да, то как лучше такие диапазоны сохранять в базу?
очень помог бы какой-нить тутор на эту тему :)
2 способа есть.
Конвертить IP в int число и там далее все просто вообще =))) если хоть чуть чуть математику в школе учил.
Или парсить ip на точках, получаем 4 tinyint числа (mysql формат) и их уже пишем в БД в 4 различные поля
кодил по-быстрому =) возможны ошибки
// Диапазон(заносится в базу)
$start=ip2long("10.100.100.1");
$stop=ip2long("10.100.100.100");
$curr=ip2long($REMOTE_ADDR); // или более безопасная ф-ция определения IP
$sql = "SELECT start,stop FROM `ban` WHERE $curr>=start AND $curr<=stop";
//start и stop предварительные данные типа int(12)
$ans=mysql_num_rows(mysql_query($sql));
if ($ans!=0) die("banned");
Примитивно, но основа есть...
спасибо, ваши идеи понял. но мне непонятна сама суть вопроса: к примеру какой-нить нуб флудит у меня в комментах постоянно и у него айпи динамический. Как я узнаю его диапазон?
эти пределы явно не от балды берут, когда, к примеру, меня банят по подсети и я даже с диалапа с его динамич. айпи не могу попасть на сайт.
Как я узнаю его диапазон?
хм, ну например так ххх.ххх.*.* [:хотя ето и слишком жестоко:]
Ambient_man
15.10.2006, 15:55
спасибо, ваши идеи понял. но мне непонятна сама суть вопроса: к примеру какой-нить нуб флудит у меня в комментах постоянно и у него айпи динамический. Как я узнаю его диапазон?
эти пределы явно не от балды берут, когда, к примеру, меня банят по подсети и я даже с диалапа с его динамич. айпи не могу попасть на сайт.
Эмс ... где то слышал про эту систему банов . Но помойму они не банят по ip.... они банят по id компьютера....
Юзай поиск....
Эмс ... где то слышал про эту систему банов . Но помойму они не банят по ip.... они банят по id компьютера....
Юзай поиск....
эх.... получить бы id компьютера....
Ambient_man
16.10.2006, 00:07
эх.... получить бы id компьютера....
Ну можно же ещё и по нику забанить, по инфе профиля, по ипу ххх.ххх.ххх.*, а можно и по всему сразу ....
эх.... получить бы id компьютера....
Интересный вопрос. А давайте разберем, по какой инфе можно банить и как создается этот ID, чтоб это было эффективно. Вот какие мысли уже есть:
1. IP - эффективно, но есть лекарство - прокси, соксы и т.д., хотя рядовой флудер может и не догадаться. Недостаток: а если это IP прокси, то автоматически отсекаются и нормальные пользователи этой подсети.
2. USER_AGENT - тоже можно получить в ПХП, но тоже может захватить и левых людей.
Не знаю, что можно передать с JavaScript и вообще можно серваку передать локальную информацию и какую?
Пока не поздно, созрела схема. К примеру при входе куда-то яваскрипт собирает инфу о тебе, потом вставляет в скрытое поле и при входе отправляет все это. Такое возможно реализовать???
Вспомнил.
3. По кукам еще можно. Эффективно, пока не удалишь.
Пока не поздно, созрела схема. К примеру при входе куда-то яваскрипт собирает инфу о тебе, потом вставляет в скрытое поле и при входе отправляет все это. Такое возможно реализовать???
Возможно.
->Узнать всё, от разрешения и глубины цвета монитора до сборки ОС и часового пояса
->формировать ID
->банить, если ID совпало
зы. защита от идиота...т.е. не всегда надёжно=)
банить по юзер_агенту - это аццкая жесть :рыдает:
не, куки для ламеров, ну их
про сбор яваскриптом: да мне не это надо, мне конкретно по айпи сейчас интересует
(а, вспомнил про инфу в профиле, это чуток помягче бана по юзер агенту, но тоже достойно внимания :d)
и звёздочка вместо одной части айпи, это гон, потому что я с диалапа сижу и у меня он постоянно разный - меняются все четыре числа!
кто в сорцах буллетина шарит, посмотрите там, может выдрать можно и способ реализации понять?
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot