Новости Joomla

Загадочный параметр $live_site в configuration.php Joomla

Загадочный параметр $live_site в configuration.php Joomla

Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.

Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.

Однако, параметр всё же остался в ядре Joomla. Зачем он нужен? А нужен он в 2-х случаях:

  • для работы класса Joomla\CMS\Uri\Uri, который часто используется в коде Joomla для работы методов
    Uri::root() и
    Uri::base(), а значит может влиять и на работу в том числе ajax-скриптов.
  • для работы Joomla в CLI - командной строке сервера. В случае если вы используете в вашем CLI-плагине методы опять-таки класса Uri, то CLI ничего не знает о текущем домене, так как запускается вне web-сервера.

Поэтому домен нужно указывать принудительно. Либо с помощью параметра командной строки

--live-site, например,
—live-site=https://site.ru/. Со слешем на конце, иначе в CLI адрес сайта станет
https://site.rujoomla.php.Либо в параметре
$live_site в файле configuration.php, так как
CliApplication берёт настройку оттуда, если параметр команды не указан или пуст.

⚠️ Иначе в качестве хоста и url класса Uri будет установлено https://joomla.invalid/set/by/console/application. В самом же коде команды получить параметр

$live_site можно из объекта приложения

<?php protected function doExecute(InputInterface $input, OutputInterface $output): int { //... $live_site = $this->getApplication()->get('live_site'); //... }

и исходя из этого строить дальнейшую логику.

0 Пользователей и 1 Гость просматривают эту тему.
  • 13 Ответов
  • 933 Просмотров
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Доброго времени. Как можно защитить сайт от недобросовестного заказчика?
Сделать так, чтобы в случае, если человек, который заказал работы на сайте не оплатил затраченное время - ему бы это не пошло в пользу. Слышал про backdoor'ы, но не хватает опыта в написании подобного, чтобы это не навредило заказчику, если он оправдает все надежды. Благодраю за информацию, с меня плюсы в карму!
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Если кому-либо из новичков поможет (способ не является готовым и безопасным от блуждающих ботов, требует доработки. Не использовать на основных проектах, не изучив в песочнице. Делать бекапы перед использованием и включать голову. Отказываюсь от ответственности за Ваши действия, предоставлено с целью просвещения новичков в данной теме, как и я, бла-бла-бла ):

1. Создаем PHP-файл и размещаем его в несколько мест по всему сайту, чем глубже - тем лучше. Для банальной демонстрации я попробовал в корне сайта. Назвал license.php

2. Внутри PHP-файла пишем код:

  [Удалено модератором]

3) Теперь при обращении к site.ru/license.php перед нами будет отображаться стандартная форма с функцией отправки POST-запроса

4) Теперь в данную форму мы можем поместить любую PHP-команду, без тегов <?php ?>
Список можно просмотреть на сайте, который первый попался в поиске https://vitalik.ws/zametki/133-kak-udalit-fayl-cherez-php.html

Например, одна из команд: array_map('unlink', glob(dirname(__FILE__).'/test/*')); удалит все файлы по директории site.ru/test. Далее экспериментируем как хотим, также при желании можно найти способы команд, создающих файлы, и.т.п.

5) Наслаждаемся справедливостью

Внимание! Доступ к данному бэкдору будет иметь каждый, кто введет его в адресной строке. Часто блуждающие по Сети боты могут также получить доступ. Тут уже стоит обратиться за помощью к более продвинутым разработчикам, и уточнить, как можно обезопасить файл от нежелаемого посетителя
« Последнее редактирование: 07.09.2020, 21:13:39 от Taatshi »
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Вопрос к профессионалам, как "запаролить" подобный файл?
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
В чате telegram-канала ответили следующее:

Цитировать
такой способ использовать нельзя
1 - eval - не безопасная ффункций
2 - это плохо
3 - вы сами "обделаетесь", перепутав последовательость команд в коде
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Также подоспели советы из чата:

Цитировать
я же вам объяснил. Создаёте безобидный плагин или модуль, в нм реализуете работу через com_ajax, а в нём пишете себе авторизацию от рута

вообще все-равно, что будет длеать модуль! Максимально безобидный! Например, выводит копирайт. Его удалять не захотят, а вот отключить - отключат. Но  у модуля сделать хэлпер, в нём реализовать метод onAjax, внутри которого, по секретному коду делаете доступ, а уже после проверки секретки - даёте себе права суперадмина. Программно моздаёте юзера - рута и валите в админку
*

cntrl

  • Захожу иногда
  • 181
  • 6 / 0
Просто загружаете поглубже в диры https://sourceforge.net/projects/phpfm/ переименовываете, даёте ему права на доступ через браузер, ставите пароль, и если что через него всё удаляете :) хотя я на вашем месте, не связывался с такими заказчиками.
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Сделать так, чтобы в случае, если человек, который заказал работы на сайте не оплатил затраченное время - ему бы это не пошло в пользу
Хороший вариант - делать разработки/доработки на своём сервере/хостинге. Не на сервере заказчика, а на своём.
После оплаты - настроить уже на сервере заказчика.
Это не полностью универсально. Смотря, какие работы. Зависит от ситуации.
Например, если предмет работ - дизайн или вёрстка, то это не защитит от копирования.

Но размещать открытый php с eval точно не стоит )
Возможно, будет интересно: Интеграция с Ozon
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Если кому-либо из новичков поможет (способ не является готовым и безопасным от блуждающих ботов, требует доработки.
можно добавить какой нибудь token, и вводить его в строке, если проверка не прошла - выводить уведомляшку что "Данный файл существует для разработки. Не выполняйте никаких действий, если не являетесь разработчиком этого сайта". Таким образом, ни один юрист не докажет что на сайт был внесен умышленно вредоносный код (а доказать можно, кстати, и это уголовно наказуемо).
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Вопрос к профессионалам, как "запаролить" подобный файл?
в самом верху файла
Код
<?
if($_GET[] && $_GET['mytoken'] == 'aaFFF890nnnn') {
 /*тут вывод всего этого добра*/
} else {
  echo '<h1>Данный файл существует для разработки. Не выполняйте никаких действий, если не являетесь разработчиком этого сайта</h1>';
}
?>

и в адресной строке вводите путь к файлу /?mytoken=aaFFF890nnnn
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Damarkuzz, обращаю Ваше внимание, что обсуждение подобных кодов у нас на форуме не приветствуется. И хочу так же Вас проинформировать, что предлагаемый Вами способ - уголовно наказуемое деяние.

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

А все эти детские вставки, во-первых, определяются на щелчок пальцами, а, во-вторых, никакого результата иметь не могут, потому что бэкап наше всё. И не наше тоже.

Простите, что разочаровала.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

nevigen

  • Легенда
  • 10447
  • 863 / 25
  • http://n*****n.com
мне кажется что у ТС завышена самооценка.
иногда потерять дешевле, чем плодить глупости и сеять в головах других зерно ненужного деструктива !
работайте ! и вас не будут кидать ! профессионалов и порядочных людей редко кидают.
если конечно они способны выбирать работу !
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
мне кажется что у ТС завышена самооценка.
иногда потерять дешевле, чем плодить глупости и сеять в головах других зерно ненужного деструктива !
работайте ! и вас не будут кидать ! профессионалов и порядочных людей редко кидают.
если конечно они способны выбирать работу !
вот, кстати, да) Согласна на все сто.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

nevigen

  • Легенда
  • 10447
  • 863 / 25
  • http://n*****n.com
@Damarkuzz
может тогда и расскажете как заказчикам защитится от таких вот "наученных" вами новичков ?
та и вообще от новичков которые зашли не работать, а зарабатывать.

а?
давайте уже будьте последовательны !
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Спойлер
[свернуть]
+
Спойлер
[свернуть]
-
Тупица вы, @Damarkuzz.
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сайт перестал нормально грузиться

Автор Leo1986

Ответов: 17
Просмотров: 965
Последний ответ 11.06.2025, 13:55:08
от zilonitiz
Как конвертировать сайт Joomla в мобильное приложение?

Автор 62411

Ответов: 1
Просмотров: 897
Последний ответ 14.06.2024, 15:31:24
от Olg
После выключения расширения лег сайт

Автор blind

Ответов: 4
Просмотров: 1086
Последний ответ 19.05.2024, 14:13:33
от blind
Google Переводчик не переводит сайт

Автор Aqua

Ответов: 1
Просмотров: 1136
Последний ответ 04.03.2024, 12:50:00
от kovAlexandr78
Администрирую и редактирую сайт на CMS Joomla. Вопросы про настройки CMS

Автор admi5575

Ответов: 4
Просмотров: 925
Последний ответ 10.05.2023, 09:02:29
от admi5575