Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Держать conf_global на другом сервере

Опубликовано:

Всем привет.

Есть необходимость держать config_global.php на другом сервере.

Реально ли это? Может где-то просто можно прописать путь на config_global?

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

Опубликовано:

Не важно где находится файл, главное чтобы php имел к нему доступ. А раз php может его прочитать, тогда какой смысл держать его на другом сервере если можно свободно получить к нему доступ?.. Т.е. в целях безопасности это очень сомнительно, даже наоборот. Подключения сторонних файлов увеличивает время генерация страницы. Лучше сразу пишите для каких целей вам это нужно.

 

Может где-то просто можно прописать путь на config_global?

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

 

Подключается файл в /admin/sources/base/ipsRegistry.php

 

	if ( is_file( DOC_IPS_ROOT_PATH . 'conf_global.php' ) )
	{
		require( DOC_IPS_ROOT_PATH . 'conf_global.php' );/*noLibHook*/

 

Если в php включена опция allow_url_include (часто на хостингах отключают в целях безопасности) можно подключать файлы через враппер http://

 

	require( 'http://othersite.ru/secret_name.txt' );/*noLibHook*/

Если allow_url_include отключен, качаем файл и исполняем его содержимое

 

	$conf_global = file_get_contents( 'http://othersite.ru/secret_name.txt' );

	if( $conf_global )
	{
		eval( $conf_global );
	}

При том здесь содержимое файла должно быть без тегов php <?php ?> в отличие от первого варианта.

Опубликовано:
  • Автор

Вас понял. Скажем так, может по другому можно: нужно, чтобы хостер (на котором файлы форума) - не имел доступа к БД форума. Т.е. БД чтобы была на другом сервере. Или может по другому решить этот вопрос можно?

Вы скажите - если не доверяешь хостеру - лучше сменить его, дело не совсем в этом. Так нужно.

Опубликовано:

Вы скажите - если не доверяешь хостеру - лучше сменить его

Именно так и скажем. Смысл извращаться если все скрипты исполняются на его сервере? Вы понимаете что при желании, как бы вам там не крутили, он сможет получить доступ к вашим данным. Ему будет достаточно просто подключить обертку форума и свободно выполнять произвольные SQL запросы.

 

Т.е. БД чтобы была на другом сервере

Можете поднять БД на другом сервере и прописать в конфиге адрес внешнего сервера базы данных. Учитывайте только, что обмен данными на уровне разных серверов значительно замедлит скорость генерации страниц.

Как настроить внешние подключение к БД MySQL

Опубликовано:
  • Автор

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

Вопросов больше нет!

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.