Новости 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 Гость просматривают эту тему.
  • 14 Ответов
  • 2697 Просмотров
*

mister_boy

  • Захожу иногда
  • 178
  • 2 / 0
Добрый день!
Собственно сабж. Сама админка закрыта по бэйсик авторизации, но идут попытки брута пароля через морду сайта, которая используется для входа зарегистрированных покупателей.
Есть желание усложнить жизнь тем, кто брутить и блокировать IP при допустим 3 неудачных попытках ввода пароля.
Знаю что существуют расширения помогающих это делать. Поделитесь информацией уже проверенных расширений.
*

mister_boy

  • Захожу иногда
  • 178
  • 2 / 0
https://extensions.joomla.org/extension/limit-login-attempts и другие...

что то у меня проблема Download какая то. Зарегился на сайте, пробую скачать нажав на Download, вылезает окно притушенное, в котором не ввести данные http://prntscr.com/cqd6mm . Либо у меня руки кривые и голова уже квадратная, или.... )
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
да у них ещё и CAPTCHA с глюками: Invalid data entered
И как по мне этот "симпатичнее":
https://extensions.joomla.org/extension/failed-login-attempts
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

mister_boy

  • Захожу иногда
  • 178
  • 2 / 0
Спасибо большое за ответы.

А какое ваше мнение на счет более серьезного расширения RSFirewall! https://www.rsjoomla.com/joomla-extensions/joomla-security.html ?
Кто то пользовал?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Я против лишних нагрузок на сайт изначально.
Проще договориться с хостингом и на их основе точечно сделать запрет: по времени, айпи и т.д., как договоритесь.
Крон есть для задач, хотя бы. И хтессес.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
А какое ваше мнение на счет более серьезного расширения RSFirewall!
Детская забава. Поставьте серьезный пароль на аккаунт суперадминистратора и забудьте об этих расширениях. Имхо.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

mister_boy

  • Захожу иногда
  • 178
  • 2 / 0
Я против лишних нагрузок на сайт изначально.
Проще договориться с хостингом и на их основе точечно сделать запрет: по времени, айпи и т.д., как договоритесь.
Крон есть для задач, хотя бы. И хтессес.

Вы имеете ввиду что дополнительные расширения как указанное будет нагружать сайт и тормозить его?
С одной стороны вы правы, но с другой стороны постоянные запросы когда брутят или ищут SQL уязвимости так же перегружают сайт.
Мы в прошлом месяце ощутили это на своей шкуре когда сервер загрузили в 8 раз больше от возможного на хостинге )))
htaccess конечно вариант, но он будет просто мега огромным через какое то время.
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
но он будет просто мега огромным через какое то время.
Или база данных - это дилема. Что выбираете?

Поясню: никогда не брутят с одного IP, обычно используется софт, причем запросы идут обычно сразу с нескольких прокси для увеличения скорости перебора (обычно это атака по словарю). Забанить все абсолютно прокси вы не в состоянии. Единственное, что можно порекомендовать - небольшое дополнение. Пишите маленький скрипт, который определяет, если запрос приходит с прокси, например, путем опроса популярных портов, и, если порт дал ответ, шлет лесом этот запрос. В htaccess прописываете выполнение этого скрипта до передачи запроса в index.php. Не панацея, но помогает при бруте. Но и пользователей, которые идут с разных анонимайзеров вы так же отбросите.

Пример:
Код: php
       $ports = array(8080,80,81,1080,6588,8000,3128,553,554,4480);
        foreach($ports as $port) {
             if (@fsockopen($_SERVER['REMOTE_ADDR'], $port, $errno, $errstr, 30)) {
                  die("You are using a proxy!");
             }
         }

Но если это частный анонимный прокси, вы его никак не определите.
« Последнее редактирование: 06.10.2016, 11:45:53 от SeBun »
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Поставьте лёгкий плагин-изменение адреса в админку, он бесплатный и много разновидностей, и как выше вам подсказали, сделайте пароль не 1111.
Всё.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

mister_boy

  • Захожу иногда
  • 178
  • 2 / 0
Или база данных - это дилема. Что выбираете?

Поясню: никогда не брутят с одного IP, обычно используется софт, причем запросы идут обычно сразу с нескольких прокси для увеличения скорости перебора (обычно это атака по словарю). Забанить все абсолютно прокси вы не в состоянии. Единственное, что можно порекомендовать - небольшое дополнение. Пишите маленький скрипт, который определяет, если запрос приходит с прокси, например, путем опроса популярных портов, и, если порт дал ответ, шлет лесом этот запрос. В htaccess прописываете выполнение этого скрипта до передачи запроса в index.php. Не панацея, но помогает при бруте. Но и пользователей, которые идут с разных анонимайзеров вы так же отбросите.

Пример:
Код: php
        $ports = array(8080,80,81,1080,6588,8000,3128,553,554,4480);
        foreach($ports as $port) {
             if (@fsockopen($_SERVER['REMOTE_ADDR'], $port, $errno, $errstr, 30)) {
                  die("You are using a proxy!");
             }
         }

Но если это частный анонимный прокси, вы его никак не определите.

большое спасибо за пример скрипта.
*

mister_boy

  • Захожу иногда
  • 178
  • 2 / 0
Поставьте лёгкий плагин-изменение адреса в админку, он бесплатный и много разновидностей, и как выше вам подсказали, сделайте пароль не 1111.
Всё.

Я выше писал что на админку у нас стоит бэйсик авторизация. Пароль ясное дело у нас аля "1Ts7126cgPGD3SFUzVWt4i" поэтому тут все норм )
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
большое спасибо за пример скрипта.
А если есть желание посидеть над этим скриптом, то, что бы не терять анонимных пользователей, не посылать запрос лесом, а доработать так, что бы вместо  
Код: php
die("You are using a proxy!");
была переадрессация на капчу. Например, RECAPTCHA2 от Google. И тогда скрипт получиться универсальным и может быть постоянно включен.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

При открытии сайта с режима инкогнито перекидывает на вирусный сайт

Автор 62411

Ответов: 6
Просмотров: 2024
Последний ответ 31.03.2024, 16:14:32
от SeBun
Компоненты и скрипты для защиты сайта. Логи атак на сайты

Автор wishlight

Ответов: 678
Просмотров: 256012
Последний ответ 14.09.2022, 14:29:43
от wishlight
Способы защиты сайта от DDoS атак?

Автор IgorMJ

Ответов: 7
Просмотров: 2035
Последний ответ 05.10.2021, 21:39:26
от ShopES
Новый набег ботов в регистрации сайта... Какой в этом смысл то?

Автор Cedars

Ответов: 11
Просмотров: 1749
Последний ответ 03.11.2020, 17:36:03
от Cedars
Мониторинг файлов CMS и сайта - предлагаю решение

Автор GRIG

Ответов: 18
Просмотров: 4801
Последний ответ 28.08.2020, 22:00:30
от cntrl