Joomla 4. Компонент K2 и форк K2ForJ4 (18 янв 2024)

Если вас, как и меня, достало выслушивать (вычитывать) бесконечные обещания разработчика K2 опубликовать версию компонента K2 под Joomla 4 (без чего невозможно реализовать апгрейд from Joomla 3 to Joomla 4) - воспользуйтесь форком K2ForJ4. Который в данный момент установлен и без каких-либо проблем работает на этом веб-сайте.

Уменьшаем риск взлома сайта на Joomla

Больше
10 года 10 мес. назад - 10 года 10 мес. назад #1 от Aleksej
Данная статья является вольным и дополненным переводом мануала, принадлежащего перу разработчиков знаменитого RSFirewall; оригинальный англоязычный вариант доступен на сайте проекта.


Ваш сайт на Joomla будет защищен в гораздо большей степени, если применить два описанных ниже действия:
  1. Перенести файл configuration.php - в непубличный каталог, находящийся вне public_html .
  2. Перенести папку /tmp (используется главным образом при установке расширений) - также в директорию, заведомо находящуюся вне публичного каталога вашего сайта.
Обратите внимание на следующее обстоятельство: сказанное вовсе не означает, что вы попросту и без затей перебросите ваш .htaccess в в иную директорию, и на этом все; нет. Вам придется совершить некоторые действия, по шагам подробно расписанные ниже.

Итак:

Шаг 1: Переместите файл configuration.php в непубличный каталог, находящийся вне public_html.

Шаг 2: Вам придется изменить файлы

Code:
/includes/defines.php

и

Code:
/administrator/includes/defines.php

а именно; вот эту константу:

Code:
define( 'JPATH_CONFIGURATION', JPATH_ROOT );

Если вы хотите переместить configuration.php на один уровень вверх (в папку, например, с именем «тест»), то константа должна выглядеть у вас следующим образом:

Code:
define( 'JPATH_CONFIGURATION', JPATH_ROOT.DS.'..'.DS.'test' );

Примечание. Если вы используете Joomla! 3.x - в этом шаге вам необходимо использовать «/» вместо «DS», таким вот образом:

Code:
define( 'JPATH_CONFIGURATION', JPATH_ROOT.'/../test' );

Шаг 3: Убедитесь, что файл configuration.php недоступен для записи, и не может быть переопределен через com_config. Вообще же говоря - всегда следите за тем, чтобы файлы и каталоги вашего сайта имели безопасные разрешения; вам в помощь две команды, которые необходимо поочередно выполнить, зайдя по ssh на свой сервак и находясь в директории, на один уровень выше public_html:

Code:
find public_html -type d -exec chmod 0755 {} \; find public_html -type f -exec chmod 0644 {} \;

Как правило - именно так выглядят безопасные разрешения для файлов и каталогов; если ваш апач предпочитает иные permissions - соответственно измените их.

Шаг 4: Если вам теперь нужно изменить параметры конфигурации - сделайте это вручную в находящемся уже на новом месте файле configuration.php.

Шаг 5: Переопределите местонахождение вашей временной tmp-папки в настройках Joomla: Administrator -> Configuration.
Последнее редактирование: 10 года 10 мес. назад пользователем Aleksej.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Dev banner 3
Больше
9 года 7 мес. назад - 9 года 7 мес. назад #2 от Sergos
На жумле 3.3 если поменять /administrator/includes/defines.php сайт работает админка нет .
если менять /includes/defines.php тогда все ок ,такую чтуку у себя обнаружил
Последнее редактирование: 9 года 7 мес. назад пользователем Sergos.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
9 года 7 мес. назад #3 от Aleksej
С учетом этой поправки, все удалось? - ну и ладно.

Но обращаю ваше внимание на то, что описанные мероприятия не имеют, на мой взгляд, первостепенного приоритета... причем это - не только на мой взгляд, но и "на взгляд" RSFirewall, который и не подумает урезать вам оценку общей защищенности сайта в том случае, если вы не перенесете /tmp и configuration.php из корня в иную директорию.

Очень рекомендую вот такую конфигурацию вашего php:

Code:
register_globals=Off safe_mode=Off allow_url_fopen=Off allow_url_include=Off disable_functions=show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open open_basedir=/home/public_html:/tmp

а также много раз процитированный скрипт:

Code:
find public_html -type d -exec chmod 0755 {} \; find public_html -type f -exec chmod 0644 {} \;

вот это действительно главное.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
9 года 7 мес. назад #4 от anatole
Слышал что firewall от компании Akeeba очень хорош, кто-нибудь пробовал? Думаю, покупать или не покупать....

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
9 года 7 мес. назад #5 от Sergos
/administrator/includes/defines.php
/includes/defines.php
у меня возникли проблемы при смене по инструкции данных файлов ,в итоге или сайт работал админка нет или наоборот.
проблемой стало то что defines.php из разных папок ето разные файлы (отличаются 1 строчкой) яж после правки в файле сохранил его и залил в обе папки одинаковый файл соответственно не работал или сайт или админка . я начал експерементировать менять на дефолтный то в одной папке то в другой но толку небыло ведь менял я 1 файл . вобщем глянув я на копию бекапа сравнил defines.php из обоих папок понял ошибку, простая невнимательность

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Работает на Kunena форум