Перейти к контенту

Фильтрация доверительных IP


Рекомендуемые сообщения

Версия форума: IPB 2.2.1 Ru

 

Цель: надо создать скрипт, который перед тем, как зарегистрировать пользователя, проверит его IP-адрес и сравнит его со своей БД разрешений.

 

Примечание: БД должна уметь использовать маски типа "172.16.*.*", чтобы не вбивать каждый адрес вручную. БД желательно хранить в файле.

 

Что есть: Каждый пользователь имеет в своих данных IP регистрации. От этого и надо отталкиваться.

 

 

Варианты логики:

 

1) Пре-вариант:

Пользователь начинает процесс регистрации, скрипт проверяет его IP и сверяет его со своей базой допусков. Если допуск на IP есть, значит регистрация успешна. Можно продолжать работать.

 

2)Пост-вариант:

Пользователь регистрируется, после регистрации стартует скрипт проверки IP-адреса регистрации. Далее булева логика: если успешно, то можно авторизоваться. Если нет - аккаунт удаляется автоматом.

 

 

Общая цель, или для чего это надо: Есть локальная сеть, имеющая транслируемый в интернет форум. Для того, чтобы не появлялись нежелательные незнакомые люди, следует запретить регистрацию их Ip-адресам. Однако БАНом дело не решить - нужно, чтобы зарегистрированный пользователь мог общаться со своими соседями по району с любого компьютера в сети, главное чтобы у него был аккаунт.

 

К тому же это и автоматический фильтр от спама (если конечно гости не имеют прав отвечать в темах или создавать темы.) для форумов локальных сетей.

 

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

 

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

 

P.S. Скрипт второго варианта есть, но после регистрации идет переполнение стека. Предпочтительнее вариант 1. Есть предложения по алгоритмам?

Ссылка на комментарий
Поделиться на других сайтах

1) Пре-вариант:

Пользователь начинает процесс регистрации, скрипт проверяет его IP и сверяет его со своей базой допусков. Если допуск на IP есть, значит регистрация успешна. Можно продолжать работать.

 

Можно туто подредактировать index.php!

и сделать что-то вроде

if($_GET['act']=='Reg')

{

#проверка на соответствие ип заданному диапозону

#в случае не соотвествий exit

}

 

тогда, если айпишник не соответствует, он даже формы регистрации не увидит, что начисто убьет желание регистрироваться. :D

Ссылка на комментарий
Поделиться на других сайтах

хорошая идея, только вопрос сопутствующий сразу возникает:

 

У пользователя есть ip-адрес, который сравнивается с БД адресов. Пусть БД будет в файле - так до нее тяжелее будет добраться. А как включить поддержку инвертной (обратной) маски ?

 

Т.е. Есть диапазон IP-адресов 0.0.0.0 - 255.255.255.255

 

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

 

Если нет времени, подскажите где хоть посмотреть?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.