Allow Multiply Domains - частная реализация (идея)
-
- phpBB 1.0.0
- Сообщения: 2
- Стаж: 19 лет 6 месяцев
Allow Multiply Domains - частная реализация (идея)
Скачать с phpbbGuru
Drupal refresh
Типичный мод не помог - сервер тупо возвращал SERVER_NAME людям сидящим за NAT'ом в Интранете и они не логинились.
Резолвить наши имена мы им не даем - народ натируется на конкретный адрес, который отличается от нашей подсети, мы также не видим адрес, на который они натируются. Пришлось ковырнуть и сделать так:
//Allow multiple domain names
if (getenv('REMOTE_ADDR')=="xxx.xxx.xxx.xxx") $board_config['server_name']="yyy.yyy.yyy.yyy";
else $board_config['server_name']=$_SERVER['SERVER_NAME'];
//End Allow multiple domain names
ххх.ххх.ххх.ххх - адрес откуда пришел (если не наш локальный)
yyy.yyy.yyy.yyy - выдаем им как сервернэйм их адрес
Для себя получаем нормальный сервернэйм.
Заработало сразу.
Может кому не лень настрочить мод, чтобы можно было динамически добавлять кучу вариантов.
Drupal refresh
Типичный мод не помог - сервер тупо возвращал SERVER_NAME людям сидящим за NAT'ом в Интранете и они не логинились.
Резолвить наши имена мы им не даем - народ натируется на конкретный адрес, который отличается от нашей подсети, мы также не видим адрес, на который они натируются. Пришлось ковырнуть и сделать так:
//Allow multiple domain names
if (getenv('REMOTE_ADDR')=="xxx.xxx.xxx.xxx") $board_config['server_name']="yyy.yyy.yyy.yyy";
else $board_config['server_name']=$_SERVER['SERVER_NAME'];
//End Allow multiple domain names
ххх.ххх.ххх.ххх - адрес откуда пришел (если не наш локальный)
yyy.yyy.yyy.yyy - выдаем им как сервернэйм их адрес
Для себя получаем нормальный сервернэйм.
Заработало сразу.
Может кому не лень настрочить мод, чтобы можно было динамически добавлять кучу вариантов.
-
- Поддержка
- Сообщения: 5429
- Стаж: 20 лет 3 месяца
- Откуда: Питер
- Благодарил (а): 177 раз
- Поблагодарили: 749 раз
vvs1
Интересно, только у меня с этим проблем не было, всё работает нормально на двух разных адресах.. только вот досада - когда в сообщениях используются картинки, пути которых во внутренней сети, то из внешней они не видны. Интересно, можно ли как-нибудь поправить?
Интересно, только у меня с этим проблем не было, всё работает нормально на двух разных адресах.. только вот досада - когда в сообщениях используются картинки, пути которых во внутренней сети, то из внешней они не видны. Интересно, можно ли как-нибудь поправить?

Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
- phpBB 2.0.0
- Сообщения: 244
- Стаж: 19 лет 6 месяцев
- Откуда: Msk, RU
можно... www.[censor].usSiava писал(а):vvs1
Интересно, только у меня с этим проблем не было, всё работает нормально на двух разных адресах.. только вот досада - когда в сообщениях используются картинки, пути которых во внутренней сети, то из внешней они не видны. Интересно, можно ли как-нибудь поправить?

Добавлено спустя 1 минуту 9 секунд:
а если серьёзно... то можно , если у тебя есть возможность приконнектится к ним через VPN и написать нормальный роутинг.
-
- Поддержка
- Сообщения: 5429
- Стаж: 20 лет 3 месяца
- Откуда: Питер
- Благодарил (а): 177 раз
- Поблагодарили: 749 раз
TUMS
Да не..
Есть 2 сети - внутренняя и внешняя (инет).
К примеру, http://forum.ru и http://192.168.1.2 - два адреса - внешний и внутренний, а сервер один и сидит на этих адресах. Как сделать, что когда в теме оставляется картинка в виде
она была видна также и из инета, чтобы как-то само преобразовывалось на
Вот в чём вопрос.
Да не..
Есть 2 сети - внутренняя и внешняя (инет).
К примеру, http://forum.ru и http://192.168.1.2 - два адреса - внешний и внутренний, а сервер один и сидит на этих адресах. Как сделать, что когда в теме оставляется картинка в виде
Код: Выделить всё
[img]http://192.168.1.2/image.jpg[/img]
Код: Выделить всё
[img]http://forum.ru/image.jpg[/img]
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
- Поддержка
- Сообщения: 5429
- Стаж: 20 лет 3 месяца
- Откуда: Питер
- Благодарил (а): 177 раз
- Поблагодарили: 749 раз
TUMS
Я знаю, а без DNS?
Я знаю, а без DNS?

Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
- phpBB 2.0.0
- Сообщения: 244
- Стаж: 19 лет 6 месяцев
- Откуда: Msk, RU
-
- Поддержка
- Сообщения: 5429
- Стаж: 20 лет 3 месяца
- Откуда: Питер
- Благодарил (а): 177 раз
- Поблагодарили: 749 раз
Вот это уже ближе к тому, что мне надо, вот только как реализовать пока не понимаюTUMS писал(а):хотя если поставить проверку на ип... а там уже реплэйсер для тэга "[URL]" ..

Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
- phpBB 2.0.0
- Сообщения: 244
- Стаж: 19 лет 6 месяцев
- Откуда: Msk, RU
я просто в php не силён... точнее вообще не знаю 
Предположим что адреса сайта - site.ru и 192.168.1.1 - равносильны.
кароче при открытии index.php открывается сессия, так ?
при открытии сессии определяется ip-адрес клиента путём вставки
затем провести модификацию на bbcode ...
Чтобы если в теле тэга найдёт строк ... 2.168.1.1/[/code]
и при этом ip-адрес клиента будет 192.168.*.* - то ничего не менять и выполнять стандартные функции тэга.
а если ip-адресс клиента другого вида - то заменять 192.168.1.1 на site.ru
Но это будет работать только если ВСЕ ссылки будут указывать на этот сайт...
Тоже самое и с тэгом [IMG]
Добавлено спустя 1 минуту 36 секунд:
естественно я могу пороть чушь, поскольку php вообще не знаю
Добавлено спустя 1 час 29 минут 18 секунд:
ща вот почитал что написал... понял что я такой бред пишу....
Конечно можно сделать по-другому...
Во первых - поставить мод Guest Session.
Во вторых - создать переменные url_lan_flag и url_lan.
В третьих - написать функцию, которая при определении ip будет давать этому самому url_lan_flag значение 0 (инет) или 1 (локалка)...
В четвёртых - создать в БД таблицу url_lan с полями address_id, local_address и pub_address. потом задача будет как-то их между собой связать
или по-другому как-то сделать... я ж мускул не знаю 
В пЯтых - написать реплэйсер, который будет просто конвертировать адреса 192.168.1.1 <> site.ru
В шестых - сделать через posting.php чтобы при отправке сообщения он выдирал оттуда все урлы со значением 192.168.1.1 или site.ru и отдавал на растерзание реплэйсеру, который в свою очередь запишет оба получившихся адреса в таблицу url_lan по полочкам, то есть один адрес в local_address, а второй в pub_address и даёт адресу address_id который угадайте куда записывается. Потом он присваивает переменной url_lan значение address_id. Затем реплэйсер передаёт в posting.php значение этого самого url_lan...
Тот уже вставляет какой-то код из реплэйсера со значением address_id в тело сообщения.
Затем кто-то хочет посмореть сообщение...
Тут же создаётся сессия, определится ip который определит значение переменной url_lan_flag... дальше тот код, который был передан posting'у определяет по url_lan_flag какой-же всё-таки ему адрес ему выдать - local_address или pub_address... затем дерёт из БД значение адреса и втыкает его в сообщение.
гы.
(зы: НУ И БРЕД ЖЕ Я НАПИСАЛ
)

Предположим что адреса сайта - site.ru и 192.168.1.1 - равносильны.
кароче при открытии index.php открывается сессия, так ?
при открытии сессии определяется ip-адрес клиента путём вставки
Код: Выделить всё
<?php
$REMOTE_ADDR
?>
и при этом ip-адрес клиента будет 192.168.*.* - то ничего не менять и выполнять стандартные функции тэга.
а если ip-адресс клиента другого вида - то заменять 192.168.1.1 на site.ru
Но это будет работать только если ВСЕ ссылки будут указывать на этот сайт...
Тоже самое и с тэгом [IMG]
Добавлено спустя 1 минуту 36 секунд:
естественно я могу пороть чушь, поскольку php вообще не знаю

Добавлено спустя 1 час 29 минут 18 секунд:
ща вот почитал что написал... понял что я такой бред пишу....
Конечно можно сделать по-другому...
Во первых - поставить мод Guest Session.
Во вторых - создать переменные url_lan_flag и url_lan.
В третьих - написать функцию, которая при определении ip будет давать этому самому url_lan_flag значение 0 (инет) или 1 (локалка)...
В четвёртых - создать в БД таблицу url_lan с полями address_id, local_address и pub_address. потом задача будет как-то их между собой связать


В пЯтых - написать реплэйсер, который будет просто конвертировать адреса 192.168.1.1 <> site.ru
В шестых - сделать через posting.php чтобы при отправке сообщения он выдирал оттуда все урлы со значением 192.168.1.1 или site.ru и отдавал на растерзание реплэйсеру, который в свою очередь запишет оба получившихся адреса в таблицу url_lan по полочкам, то есть один адрес в local_address, а второй в pub_address и даёт адресу address_id который угадайте куда записывается. Потом он присваивает переменной url_lan значение address_id. Затем реплэйсер передаёт в posting.php значение этого самого url_lan...
Тот уже вставляет какой-то код из реплэйсера со значением address_id в тело сообщения.
Затем кто-то хочет посмореть сообщение...
Тут же создаётся сессия, определится ip который определит значение переменной url_lan_flag... дальше тот код, который был передан posting'у определяет по url_lan_flag какой-же всё-таки ему адрес ему выдать - local_address или pub_address... затем дерёт из БД значение адреса и втыкает его в сообщение.
гы.
(зы: НУ И БРЕД ЖЕ Я НАПИСАЛ

-
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 19 лет 3 месяца
насчет линков внутри форума у нас реализовано по-другому.
Создаются линки как относительные. К примеру возьмем те же http://forum.ru и http://192.168.1.2
Если делать линк через [URL=...] и вбить туда, к примеру, "http://192.168.1.2/phpbb/ЛИНК", то из "внешней" сети доступа туда не будет. Но если сделать через <a href="viewtopic.php?t=№топика">, то автоматически движок ищет (и находит) нужное "начало" для линка, будь-то "http://192.168.1.2/phpbb/" или "http://192.168.1.2/phpbb/".
Надеюсь, идея понятна +))
Хотя не очень корректно справился с выражением мыслей простыми словами
P.S. естественно, для этого надо включить поддержку html-тегов
Создаются линки как относительные. К примеру возьмем те же http://forum.ru и http://192.168.1.2
Если делать линк через [URL=...] и вбить туда, к примеру, "http://192.168.1.2/phpbb/ЛИНК", то из "внешней" сети доступа туда не будет. Но если сделать через <a href="viewtopic.php?t=№топика">, то автоматически движок ищет (и находит) нужное "начало" для линка, будь-то "http://192.168.1.2/phpbb/" или "http://192.168.1.2/phpbb/".
Надеюсь, идея понятна +))
Хотя не очень корректно справился с выражением мыслей простыми словами

P.S. естественно, для этого надо включить поддержку html-тегов

-
- Поддержка
- Сообщения: 5429
- Стаж: 20 лет 3 месяца
- Откуда: Питер
- Благодарил (а): 177 раз
- Поблагодарили: 749 раз
CrazyMan
Я сделал у себя небольшую модификацию...
Проверяем с каких IP-адресов заходит пользователь и используя фукцию ob_start() заменяются все внутренние ссылки форума на внешние..
Код у меня работает не очень верно, но принцип я описал.
На этой неделе может освобожусь и завершу его + оформлю как мод, если кому понадобится
Главное чтоб было время и терпение
А это большая дыра...CrazyMan писал(а):естественно, для этого надо включить поддержку html-тегов
Я сделал у себя небольшую модификацию...
Проверяем с каких IP-адресов заходит пользователь и используя фукцию ob_start() заменяются все внутренние ссылки форума на внешние..
Код у меня работает не очень верно, но принцип я описал.
На этой неделе может освобожусь и завершу его + оформлю как мод, если кому понадобится

Главное чтоб было время и терпение

Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 19 лет 3 месяца
-
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 18 лет 3 месяца
Будем ждать модификацию.. очень нужная весщь !!!Siava писал(а):CrazyManА это большая дыра...CrazyMan писал(а):естественно, для этого надо включить поддержку html-тегов
Я сделал у себя небольшую модификацию...
Проверяем с каких IP-адресов заходит пользователь и используя фукцию ob_start() заменяются все внутренние ссылки форума на внешние..
Код у меня работает не очень верно, но принцип я описал.
На этой неделе может освобожусь и завершу его + оформлю как мод, если кому понадобится![]()
Главное чтоб было время и терпение