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

Блокировка регистрации с внешних IP.


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

Здравствуйте, Я уже описывал данный вопрос в разделе безопасности, но возможно здесь искать ответ будет уместнее.

Есть локальная сеть и в ней есть локальный форум. Машина форумом имеет 2 сетевухи, одна "смотрит" в локалку с IP 192.168.х.х, вторая "смотрит" в инет. из инета форум доступен. Задача состоит в том, чтобы просматривать и заходить на форум под своими логами могли пользователи, зарегестрировавшиеся ТОЛЬКО в локальной сети. Регистрации извне не должно быть.

 

Приблизительно выглядеть это должно так:

 

1. Я, Вася Пупкин, захожу с домашнего компа на форум, предназначенный только для пользователей другой локальной сети (например, форум студенческой локальной сети университета). Читаю, что там написано и думаю в нем нагадить или запустить злосного бота! Пытаюсь зарегестрироватся, но получаю от ворот - поворот, а-ля "с Вашего IP регистрация невозможна."

 

2. Я, Леонид Горлохвотайка, пользователь локальной сети, регистрируюсь на форуме с компа, подключенного к этой локальной сети. Активно учавствую в разделах форума, но меня посылают на пол года в Урюпинск. Приезжая тута, я бегу в интернет кафе, захожу на форум, ввожу логин, пароль и создаю тему - какой классный город Урюпинск, но как жаль что я тут на пол года.

 

3. Я, Эльдар Алебардович, очень хороший друг Леонида Горлохватайка. И я бы хотел оставить несколько замечаний на форуме, но, к сожалению не могу зарегестрироваться (как и Вася Пупкин). Тогда я звоню Леониду и прошу завести для себя пользователя форума. Леня, (будучи в локальной сети и не уехав в Урюпинск), заводит пользователя и сообщает логин, пароль Эльдару. Таким образом на форуме появляется еще один пользователь, которому можно доверять, и который не будет заниматся ерундой.

 

Вроде как бы все учел. Огромная просьба помочь с данным вопросом. Возможно такой подход понадобится не только мне :D. Зарнее спасибо!

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

/sources/action_public/register.php

 

Найти (несколько раз):

 

		if ( $this->ipsclass->vars['no_reg'] == 1 )
	{
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'reg_off' ) );
	}

 

Добавить ПОСЛЕ:

 

		if ( strpos($this->ipsclass->ip_address, '192.168.') !== 0 )
	{
		die('Регистрация с внешних IP запрещена!');
	}

 

Ну или такое:

 

		if ( strpos($this->ipsclass->ip_address, '192.168.') !== 0 )
	{
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'reg_off' ) );
	}

 

Будет стандартная ошибка "Регистрация отключена".

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

Не-не-не, не сбивайте меня. :D

 

Всё ОК.

 

Если IP адрес НЕ начинается с "192.168." - всё остановить и показать ошибку.

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

По идее.

 

=== false - такой подстроки нету

!== false - такая подстрока есть (в любой позиции)

 

=== 0 - такая подстрока есть + она в нулевой позиции

!== 0 - такой подстроки либо нет, либо она не в нулевой позиции

 

Если с false прописать, то пропустит IP адрес 198.192.168.86.

 

Позицию надо смотреть.

 

Либо я смертельно глючу уже. >__<

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

Все очень красиво и аккуратно работает! Благодарность не имеет границ! Вот только возник вопрос,

Вписывал код:

if ( strpos($this->ipsclass->ip_address, '192.168.') !== 0 )
	{
		die('Регистрация с внешних IP запрещена!');
	}

Можно ли вместо надписи использовать HTML или ссылку на страничку? При открытии регистрации с внешних IP просто открывает делую страницу и надпись в левом верхнем углу. :D

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

Впишите второй предложенный код.

 

Да, можно использовать HTML.

 

Можно даже сделать

die(file_get_contents('путь/к/файлу/со/страницей.html'));

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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