Разрешить регистрацию только из внутренней сети

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
petisha
phpBB 1.0.0
Сообщения: 7
Стаж: 13 лет 5 месяцев
Благодарил (а): 2 раза

Разрешить регистрацию только из внутренней сети

Сообщение petisha »

Здравствуйте! Стоит задача сделать внутрисетевой форум видимым извне, но только так, чтобы его можно было читать уже зарегистрировавшимся пользователям, а регистрироваться можно только находясь внутри сети. Как это лучше организовать? Заранее спасибо.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Разрешить регистрацию только из внутренней сети

Сообщение Sheer »

Открыть /includes/ucp/ucp_register.php
Найти

Код: Выделить всё

		if ($config['require_activation'] == USER_ACTIVATION_DISABLE)
Заменить на

Код: Выделить всё

		if ($config['require_activation'] == USER_ACTIVATION_DISABLE || $user->data['user_ip'] != $myip)
где вместо $myip прописать неразрешенный IP
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

Re: Разрешить регистрацию только из внутренней сети

Сообщение c61 »

Sheer, Ваш пример для одного IP, а нужен диапазон адресов. И не "неразрешенный", а "разрешенный"... Поправите ?)
petisha
phpBB 1.0.0
Сообщения: 7
Стаж: 13 лет 5 месяцев
Благодарил (а): 2 раза

Re: Разрешить регистрацию только из внутренней сети

Сообщение petisha »

c61 писал(а):нужен диапазон адресов
Да, именно так. Нужно, чтобы регистрация была позволена только из 192* и 10*
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Разрешить регистрацию только из внутренней сети

Сообщение Sheer »

Код: Выделить всё

if ($config['require_activation'] == USER_ACTIVATION_DISABLE || !preg_match($myip_mask, $user->data['user_ip']))
где $myip_mask - маска ip, например

Код: Выделить всё

$mask = '|192.168.1.|';
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
petisha
phpBB 1.0.0
Сообщения: 7
Стаж: 13 лет 5 месяцев
Благодарил (а): 2 раза

Re: Разрешить регистрацию только из внутренней сети

Сообщение petisha »

извините мне мое ламерство в вопросах php, но нельзя ли написать фрагмент кода, который нужно вставить с учетом разрешенных адресов из всего диапазона 192* и 10*, т.е. как правильно в этом случае написать маску в приведенный фрагмент. Спасибо.
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

Re: Разрешить регистрацию только из внутренней сети

Сообщение c61 »

В includes/ucp/ucp_register найти:

Код: Выделить всё

		if ($config['require_activation'] == USER_ACTIVATION_DISABLE)
и заменить на

Код: Выделить всё

		if ($config['require_activation'] == USER_ACTIVATION_DISABLE || !(preg_match('#^192.#', $user->data['user_ip']) || preg_match('#^10.#', $user->data['user_ip'])))
petisha
phpBB 1.0.0
Сообщения: 7
Стаж: 13 лет 5 месяцев
Благодарил (а): 2 раза

Re: Разрешить регистрацию только из внутренней сети

Сообщение petisha »

c61 писал(а):В includes/ucp/ucp_register найти:
КОД: ВЫДЕЛИТЬ ВСЁ
if ($config['require_activation'] == USER_ACTIVATION_DISABLE)
и заменить на
КОД: ВЫДЕЛИТЬ ВСЁ
if ($config['require_activation'] == USER_ACTIVATION_DISABLE || !(preg_match('#^192.#', $user->data['user_ip']) || preg_match('#^10.#', $user->data['user_ip'])))
Сделал. Но после этого не смог зарегистрироваться из 192.168.... и 10.1..... Пишет, что регистрация закрыта.
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

Re: Разрешить регистрацию только из внутренней сети

Сообщение c61 »

Sorry, не исправил ошибку Sheer, надо

Код: Выделить всё

		if ($config['require_activation'] == USER_ACTIVATION_DISABLE || !(preg_match('#^192.#', $user->ip) || preg_match('#^10.#', $user->ip)))
ибо поле user_ip в data на момент регистрации не определено.
petisha
phpBB 1.0.0
Сообщения: 7
Стаж: 13 лет 5 месяцев
Благодарил (а): 2 раза

Re: Разрешить регистрацию только из внутренней сети

Сообщение petisha »

Спасибо огромное, все заработало как надо!
Аватара пользователя
dndn
phpBB 1.4.4
Сообщения: 131
Стаж: 14 лет 6 месяцев
Благодарил (а): 30 раз
Поблагодарили: 5 раз

Re: Разрешить регистрацию только из внутренней сети

Сообщение dndn »

Для внутренних сетей вроде бы зарезервирован диапазон 192.168.*.*
Если прописать только 192.*.*.* то можно попасть и извне, нет?
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

Re: Разрешить регистрацию только из внутренней сети

Сообщение c61 »

dndn писал(а):Если прописать только 192.*.*.* то можно попасть и извне, нет?
Да, частные ip:
  • 10.0.0.0 — 10.255.255.255 (/8)
  • 172.16.0.0 — 172.31.255.255 (/12)
  • 192.168.0.0 — 192.168.255.255 (/16)
Но 192* хотел Заказчик))
petisha
phpBB 1.0.0
Сообщения: 7
Стаж: 13 лет 5 месяцев
Благодарил (а): 2 раза

Re: Разрешить регистрацию только из внутренней сети

Сообщение petisha »

c61 писал(а):Но 192* хотел Заказчик))
Уже понял, что погорячился.:) Я правильно понял, что нужно так?:
'#^192.168#'

Вернуться в «Поддержка phpBB 3.0.х»