Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2019-01-20 12:49:50

Llilakia
Новичок
Зарегистрирован: 2019-01-19
Сообщений: 9

2 url на 1 форум

Всем доброго времени суток, уважаемые! Итак имеется форум свежайшей версии 1.5.11. И этот форум будет находится в 2 локалках одновременно и поэтому должен иметь 2 урла. Почему 2 не спрашивайте просто ТЗ такое и крутись я как хошь  mad 

Я установил и настроил форум в одной сети. Все работает прекрасно. Далее, пробросил порты до форума с другой сети. Форум загружается и отображается, но нет возможности создать юзера, тему, ответ в теме и пр. Падает в ошибку:

Плохой HTTP_REFERER. Вы перешли на эту страницу из неавторизованного источника. Если проблема постоянная, убедитесь, что 'Base URL' верно прописан в Admin/Options и что вы посещаете форум именно по такому URL. Дополнительную информацию вы можете получить из документации по FluxBB.

Я гуглил и накнулся на это - Товарищ в пятом посте говорит что можно, добавить доп. условие при проверке, чтобы оно обходило несколько base_url

признайте, ситуация когда у одного форума ДВА адреса ненормальная, может быть временно оно и может быть, но не навсегда!
imho, если такая потребность возникает, значит надо в кончерватории что-то править.

чтобы ВРЕМЕННО использовать второй адрес в confirm_referrer, надо прописать в o_base_url ПРАВИЛЬНОЕ значение, какое будет всегда, а в
confirm_referrer() ВРЕМЕННО продублировать проверку, типа такого

вместо

    if (!preg_match('#^'.preg_quote(str_replace('www.', '', $pun_config['o_base_url']).'/'.$script, '#').'#i', str_replace('www.', '', (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''))))
        message($lang_common['Bad referrer']);

сделать

    if (!preg_match('#^'.preg_quote(str_replace('www.', '', $pun_config['o_base_url']).'/'.$script, '#').'#i', str_replace('www.', '', (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''))) &&
        !preg_match('#^'.preg_quote('http://mytemporaryaddress.com/forum'.'/'.$script, '#').'#i', str_replace('www.', '', (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''))) )
        message($lang_common['Bad referrer']);

понятно как работает? если первое условие не сработало, дается еще один шанс, прежде чем застопориться в message()


Из этого вопрос. Как отключить/исправить проверку HTTP_REFERER? Я не нашел подобного кода. Как добавить 2 URL в проверку или отключить ее?

Так же я предпологаю что у этого движка есть проверка на множество регистрация с одного IP. Т.к форум внутрений, там все реги будут с 1 IP, Это тоже жалетельно отключить. Как это сделать?

Offline

#2 2019-01-20 14:50:16

Llilakia
Новичок
Зарегистрирован: 2019-01-19
Сообщений: 9

Re: 2 url на 1 форум

В попытках исправить это я полностью удалил код из function confirm_referrer. Ответ отправляется, но форум пытается вернуться на базовый урл и выпадает в ошибку:

ERROR
The requested URL could not be retrieved

The following error was encountered while trying to retrieve the URL: http://*****************/viewtopic.php?

    Unable to forward this request at this time.

This request could not be forwarded to the origin server or to any parent caches.

Some possible problems are:

    An Internet connection needed to access this domains origin servers may be down.
    All configured parent caches may be currently unreachable.
    The administrator may not allow this cache to make direct connections to origin servers.

Your cache administrator is ************

Редактировался Llilakia (2019-01-20 14:51:00)

Offline

#3 2019-01-20 17:01:54

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: 2 url на 1 форум

Пробуйте в файле include/common.php после

if (!defined('PUN_CONFIG_LOADED'))
{
	if (!defined('FORUM_CACHE_FUNCTIONS_LOADED'))
		require PUN_ROOT.'include/cache.php';

	generate_config_cache();
	require FORUM_CACHE_DIR.'cache_config.php';
}

добавить

if (false === strpos($_SERVER['HTTP_REFERER'], str_replace(array('http://', 'https://'), '://', $pun_config['o_base_url']))) {
    $pun_config['o_base_url'] = 'ВТОРОЙ УРЛ ФОРУМА';
}

Offline

#4 2019-01-20 17:45:22

Llilakia
Новичок
Зарегистрирован: 2019-01-19
Сообщений: 9

Re: 2 url на 1 форум

Спасибо! Помогло, но частично  sad

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

Я изучал код functions.php и пришел к выводу, что надо каким то образом надо перехватить function get_current_url, и подставить в ее туда где происходит проверка на рефер. Могу ошибатся, я плохо знаю php. Больше по Python и Bash

Так же в ошибку падает, при:

  • удалении аватара

  • загрузки аватара

  • Добавлении настоящего имени

Редактировался Llilakia (2019-01-20 18:17:08)

Offline

#5 2019-01-20 18:49:46

Llilakia
Новичок
Зарегистрирован: 2019-01-19
Сообщений: 9

Re: 2 url на 1 форум

Все! Вопрос решен! Удалил фунцию и вставил ваш код! Заработало! Спасибо!

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens