Allow Multiply Domains - частная реализация (идея)

Идеи для расширения функциональности phpBB 2.0.x
vvs1
phpBB 1.0.0
Сообщения: 2
Стаж: 19 лет 6 месяцев

Allow Multiply Domains - частная реализация (идея)

Сообщение vvs1 »

Скачать с 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 - выдаем им как сервернэйм их адрес
Для себя получаем нормальный сервернэйм.
Заработало сразу.

Может кому не лень настрочить мод, чтобы можно было динамически добавлять кучу вариантов.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5429
Стаж: 20 лет 3 месяца
Откуда: Питер
Благодарил (а): 177 раз
Поблагодарили: 749 раз

Сообщение Siava »

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

Сообщение TUMS »

Siava писал(а):vvs1
Интересно, только у меня с этим проблем не было, всё работает нормально на двух разных адресах.. только вот досада - когда в сообщениях используются картинки, пути которых во внутренней сети, то из внешней они не видны. Интересно, можно ли как-нибудь поправить? :roll:
можно... www.[censor].us :lol:

Добавлено спустя 1 минуту 9 секунд:

а если серьёзно... то можно , если у тебя есть возможность приконнектится к ним через VPN и написать нормальный роутинг.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5429
Стаж: 20 лет 3 месяца
Откуда: Питер
Благодарил (а): 177 раз
Поблагодарили: 749 раз

Сообщение Siava »

TUMS
Да не..
Есть 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 (phpbb 2.0.x 3.5.x)
Аватара пользователя
TUMS
phpBB 2.0.0
Сообщения: 244
Стаж: 19 лет 6 месяцев
Откуда: Msk, RU

Сообщение TUMS »

ещё кто-то юзает 192.168 ? :shock:

так а что мешает на ДНС внутри локалки прописать что forum.ru = 192.168.1.2 и помещать ссылки на forum.ru/image.jpg ?
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5429
Стаж: 20 лет 3 месяца
Откуда: Питер
Благодарил (а): 177 раз
Поблагодарили: 749 раз

Сообщение Siava »

TUMS
Я знаю, а без DNS? :)
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
TUMS
phpBB 2.0.0
Сообщения: 244
Стаж: 19 лет 6 месяцев
Откуда: Msk, RU

Сообщение TUMS »

а без DNS... реплэйсер написать на 192.168....

Добавлено спустя 11 минут 59 секунд:

но это неудобно... ведь наверное надо чтобы из локалки тоже было видно картинки без инета...

хотя если поставить проверку на ип... а там уже реплэйсер для тэга "[URL]" ... :)
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5429
Стаж: 20 лет 3 месяца
Откуда: Питер
Благодарил (а): 177 раз
Поблагодарили: 749 раз

Сообщение Siava »

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

Сообщение TUMS »

я просто в php не силён... точнее вообще не знаю :)
Предположим что адреса сайта - site.ru и 192.168.1.1 - равносильны.
кароче при открытии index.php открывается сессия, так ?
при открытии сессии определяется ip-адрес клиента путём вставки

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

<?php
$REMOTE_ADDR
?>
затем провести модификацию на 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... затем дерёт из БД значение адреса и втыкает его в сообщение.

гы.



(зы: НУ И БРЕД ЖЕ Я НАПИСАЛ :lol: )
CrazyMan
phpBB 1.0.0
Сообщения: 5
Стаж: 19 лет 3 месяца

Сообщение CrazyMan »

насчет линков внутри форума у нас реализовано по-другому.
Создаются линки как относительные. К примеру возьмем те же 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-тегов ;)
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5429
Стаж: 20 лет 3 месяца
Откуда: Питер
Благодарил (а): 177 раз
Поблагодарили: 749 раз

Сообщение Siava »

CrazyMan
CrazyMan писал(а):естественно, для этого надо включить поддержку html-тегов
А это большая дыра...

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

Сообщение CrazyMan »

Siava писал(а):А это большая дыра...
Так можно же включить поддержку только нужных Вам тегов?
Если что-то недопонимаю - объясните пожалуйста.
Аватара пользователя
XfroSt
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 3 месяца

Сообщение XfroSt »

Siava писал(а):CrazyMan
CrazyMan писал(а):естественно, для этого надо включить поддержку html-тегов
А это большая дыра...

Я сделал у себя небольшую модификацию...
Проверяем с каких IP-адресов заходит пользователь и используя фукцию ob_start() заменяются все внутренние ссылки форума на внешние..
Код у меня работает не очень верно, но принцип я описал.
На этой неделе может освобожусь и завершу его + оформлю как мод, если кому понадобится :roll:
Главное чтоб было время и терпение :lol:
Будем ждать модификацию.. очень нужная весщь !!!

Вернуться в «Запросы модов для phpBB 2.0.x»