Все запросы выполнялись на достаточно чистой инсталяции Joomla 3.9.14. Кроме как установка русского языка для административной панели и сайта никаких других расширений не устанавливалось. Настроен SEF(ЧПУ) и перенаправление(переиминован /htaccess). Установлено время жизни сессии 60 минут. Переиминовано главное меню и добавлено ещё одно. В одном меню два пункта и в другом ещё один. Создано два материала к ним привязано два пункта меню и ещё один пункт меню привязан к избранным материалам(это пункт главной страницы сайта). В остльном это чистая инсталяция экземпляра CMS Joomla 3.9.14 как выглядел сайта в момент считывания SQL запросов показано на следующем скринсшоте.
Считывание SQL запросов производилось при авторизованном администраторе.
Обратите внимание! В данной статье в пунктах, где указывается какие файлы загружены перед выполнением SQL запроса понимаются PHP файла фреймворка Joomla(то есть файлы подключаемые автозагрузчиком классов, а так же функциями require и include и их разновидностями с _once). Каким либо иные файлы, например XML в этом списке не учтены.
1. Сессия
SELECT `data`
FROM `ofuj0_session`
WHERE `session_id` = X'676e6d73746d3276666837636b73347375386c657065736e386e'
Перед выполнением запроса загружены следующие файлы(99 штук):
- index.php
- includes/defines.php
- includes/framework.php
- libraries/import.legacy.php
- libraries/loader.php
- libraries/cms.php
- libraries/vendor/autoload.php
- libraries/vendor/composer/autoload_real.php
- libraries/vendor/composer/ClassLoader.php
- libraries/vendor/composer/autoload_static.php
- libraries/vendor/joomla/string/src/phputf8/utf8.php
- libraries/vendor/joomla/string/src/phputf8/mbstring/core.php
- libraries/vendor/joomla/string/src/phputf8/substr_replace.php
- libraries/vendor/joomla/string/src/phputf8/ord.php
- libraries/vendor/joomla/string/src/phputf8/str_ireplace.php
- libraries/vendor/joomla/string/src/phputf8/str_pad.php
- libraries/vendor/joomla/string/src/phputf8/str_split.php
- libraries/vendor/joomla/string/src/phputf8/strcasecmp.php
- libraries/vendor/joomla/string/src/phputf8/strcspn.php
- libraries/vendor/joomla/string/src/phputf8/stristr.php
- libraries/vendor/joomla/string/src/phputf8/strrev.php
- libraries/vendor/joomla/string/src/phputf8/strspn.php
- libraries/vendor/joomla/string/src/phputf8/trim.php
- libraries/vendor/joomla/string/src/phputf8/ucfirst.php
- libraries/vendor/joomla/string/src/phputf8/ucwords.php
- libraries/vendor/joomla/string/src/phputf8/utils/ascii.php
- libraries/vendor/joomla/string/src/phputf8/utils/validation.php
- libraries/vendor/symfony/polyfill-ctype/bootstrap.php
- libraries/vendor/paragonie/random_compat/lib/random.php
- libraries/vendor/symfony/polyfill-php55/bootstrap.php
- libraries/vendor/symfony/polyfill-php56/bootstrap.php
- libraries/vendor/paragonie/sodium_compat/autoload.php
- libraries/vendor/paragonie/sodium_compat/src/SodiumException.php
- libraries/vendor/paragonie/sodium_compat/lib/namespaced.php
- libraries/vendor/paragonie/sodium_compat/lib/sodium_compat.php
- libraries/vendor/paragonie/sodium_compat/lib/constants.php
- libraries/vendor/paragonie/sodium_compat/src/Compat.php
- libraries/vendor/paragonie/sodium_compat/lib/php72compat.php
- libraries/vendor/symfony/polyfill-php71/bootstrap.php
- libraries/vendor/symfony/polyfill-php73/bootstrap.php
- libraries/vendor/symfony/polyfill-php73/Php73.php
- libraries/cms/class/loader.php
- libraries/classmap.php
- libraries/vendor/typo3/phar-stream-wrapper/src/Behavior.php
- libraries/vendor/typo3/phar-stream-wrapper/src/Assertable.php
- libraries/vendor/typo3/phar-stream-wrapper/src/Manager.php
- libraries/vendor/typo3/phar-stream-wrapper/src/Interceptor/PharExtensionInterceptor.php
- libraries/vendor/typo3/phar-stream-wrapper/src/Resolver/PharInvocationCollection.php
- libraries/vendor/typo3/phar-stream-wrapper/src/Collectable.php
- libraries/vendor/typo3/phar-stream-wrapper/src/Resolver/PharInvocationResolver.php
- libraries/vendor/typo3/phar-stream-wrapper/src/Resolvable.php
- libraries/vendor/typo3/phar-stream-wrapper/src/PharStreamWrapper.php
- libraries/src/Version.php
- libraries/fof/include.php
- libraries/fof/autoloader/fof.php
- libraries/src/Exception/ExceptionHandler.php
- libraries/src/Log/Log.php
- libraries/src/Form/FormHelper.php
- libraries/legacy/error/error.php
- libraries/src/Log/LogEntry.php
- libraries/src/Date/Date.php
- libraries/src/Factory.php
- libraries/src/Application/CMSApplication.php
- libraries/src/Application/WebApplication.php
- libraries/src/Application/BaseApplication.php
- libraries/vendor/joomla/application/src/AbstractApplication.php
- libraries/vendor/psr/log/Psr/Log/LoggerAwareInterface.php
- libraries/src/Application/SiteApplication.php
- libraries/src/Input/Input.php
- libraries/vendor/joomla/input/src/Input.php
- libraries/src/Filter/InputFilter.php
- libraries/vendor/joomla/filter/src/InputFilter.php
- libraries/vendor/joomla/registry/src/Registry.php
- libraries/joomla/database/driver.php
- libraries/joomla/database/database.php
- libraries/joomla/database/interface.php
- libraries/joomla/database/driver/pdomysql.php
- libraries/joomla/database/driver/pdo.php
- libraries/vendor/joomla/application/src/Web/WebClient.php
- libraries/src/Uri/Uri.php
- libraries/vendor/joomla/uri/src/Uri.php
- libraries/vendor/joomla/uri/src/AbstractUri.php
- libraries/vendor/joomla/uri/src/UriInterface.php
- libraries/vendor/joomla/uri/src/UriHelper.php
- libraries/joomla/event/dispatcher.php
- libraries/src/Object/CMSObject.php
- libraries/src/Application/ApplicationHelper.php
- libraries/joomla/session/handler/joomla.php
- libraries/joomla/session/handler/native.php
- libraries/joomla/session/handler/interface.php
- libraries/src/Session/Session.php
- libraries/joomla/session/storage.php
- libraries/joomla/session/storage/database.php
- libraries/src/Input/Cookie.php
- libraries/joomla/database/query/pdomysql.php
- libraries/joomla/database/query/mysqli.php
- libraries/joomla/database/query.php
- libraries/joomla/database/query/limitable.php
- libraries/joomla/database/query/element.php
2. Расширения
SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled`
FROM `ofuj0_extensions`
WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1
Перед выполнением запроса загружены следующие файлы(11 штук):
- libraries/src/User/User.php
- libraries/src/User/UserWrapper.php
- libraries/src/Log/DelegatingPsrLogger.php
- libraries/vendor/psr/log/Psr/Log/AbstractLogger.php
- libraries/vendor/psr/log/Psr/Log/LoggerInterface.php
- libraries/vendor/psr/log/Psr/Log/LogLevel.php
- libraries/src/Component/ComponentHelper.php
- libraries/src/Cache/Cache.php
- libraries/src/Cache/CacheController.php
- libraries/src/Filesystem/Path.php
- libraries/src/Cache/Controller/CallbackController.php
3. Уровни доступа
SELECT id, rules
FROM `ofuj0_viewlevels`
Перед выполнением запроса загружены следующие файлы(7 штук):
- libraries/src/Component/ComponentRecord.php
- libraries/vendor/joomla/registry/src/AbstractRegistryFormat.php
- libraries/vendor/joomla/registry/src/FormatInterface.php
- libraries/vendor/joomla/registry/src/Factory.php
- libraries/vendor/joomla/registry/src/Format/Json.php
- libraries/src/Plugin/PluginHelper.php
- libraries/src/Access/Access.php
4. Группы пользователей
SELECT b.id
FROM ofuj0_usergroups AS a
LEFT JOIN ofuj0_usergroups AS b ON b.lft <= a.lft AND b.rgt >= a.rgt
WHERE a.id = 9
Перед выполнением запроса дополнительных файлов не загружалось.
5. Расширения
SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id`
FROM ofuj0_extensions
WHERE enabled = 1 AND type = 'plugin' AND state IN (0,1) AND access IN (1,1,5)
ORDER BY ordering
Перед выполнением запроса загружен один файл:
- libraries/vendor/joomla/utilities/src/ArrayHelper.php
6. Меню и расширения
SELECT m.id, m.menutype, m.title, m.alias, m.note, m.path AS route, m.link, m.type, m.level, m.language,`m`.`browserNav`, m.access, m.params, m.home, m.img, m.template_style_id, m.component_id, m.parent_id,e.element as component
FROM ofuj0_menu AS m
LEFT JOIN ofuj0_extensions AS e ON m.component_id = e.extension_id
WHERE m.published = 1 AND m.parent_id > 0 AND m.client_id = 0
ORDER BY m.lft
Перед выполнением запроса загружены следующие файлы(25 штук):
- libraries/src/Language/LanguageHelper.php
- libraries/src/Language/Language.php
- language/ru-RU/ru-RU.localise.php
- plugins/system/updatenotification/updatenotification.php
- libraries/src/Plugin/CMSPlugin.php
- libraries/joomla/event/event.php
- plugins/system/stats/stats.php
- plugins/system/fields/fields.php
- plugins/system/sessiongc/sessiongc.php
- plugins/system/actionlogs/actionlogs.php
- plugins/actionlog/joomla/joomla.php
- administrator/components/com_actionlogs/libraries/actionlogplugin.php
- libraries/src/MVC/Model/BaseDatabaseModel.php
- plugins/system/logrotation/logrotation.php
- plugins/system/debug/debug.php
- plugins/system/log/log.php
- plugins/system/logout/logout.php
- plugins/system/remember/remember.php
- plugins/system/highlight/highlight.php
- plugins/system/sef/sef.php
- libraries/src/User/UserHelper.php
- libraries/src/Router/Router.php
- libraries/src/Router/SiteRouter.php
- libraries/src/Menu/AbstractMenu.php
- libraries/src/Menu/SiteMenu.php
7. Расширения
SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled`
FROM `ofuj0_extensions`
WHERE `type` = 'library' AND `element` = 'joomla'
Перед выполнением запроса загружены следующие файлы(25 штук):
- libraries/src/Menu/MenuItem.php
- libraries/src/Component/Router/RouterLegacy.php
- libraries/src/Component/Router/RouterInterface.php
- components/com_banners/router.php
- libraries/src/Component/Router/RouterBase.php
- components/com_contact/router.php
- libraries/src/Component/Router/RouterView.php
- libraries/src/Component/Router/RouterViewConfiguration.php
- libraries/src/Component/Router/Rules/MenuRules.php
- libraries/src/Component/Router/Rules/RulesInterface.php
- components/com_contact/helpers/legacyrouter.php
- components/com_content/router.php
- components/com_content/helpers/legacyrouter.php
- components/com_finder/router.php
- components/com_newsfeeds/router.php
- components/com_newsfeeds/helpers/legacyrouter.php
- components/com_privacy/router.php
- libraries/src/Component/Router/Rules/StandardRules.php
- libraries/src/Component/Router/Rules/NomenuRules.php
- components/com_search/router.php
- components/com_tags/router.php
- components/com_users/router.php
- components/com_users/helpers/legacyrouter.php
- components/com_wrapper/router.php
- libraries/src/Helper/LibraryHelper.php
Возможно тут выполнеяется запрос к расширениям на обновление параметра медиаверсии
8. Языки
SELECT *
FROM ofuj0_languages
WHERE published=1
ORDER BY ordering ASC
Перед выполнением запроса загружены следующие файлы(2 штуки):
- libraries/src/Document/Document.php
- libraries/src/Document/HtmlDocument.php
9. Стили шаблонов и расширения
SELECT id, home, template, s.params
FROM ofuj0_template_styles as s
LEFT JOIN ofuj0_extensions as e ON e.element=s.template AND e.type='template' AND e.client_id=s.client_id
WHERE s.client_id = 0 AND e.enabled = 1
Перед выполнением запроса дополнительных файлов не загружалось.
10
SELECT `id`,`name`,`rules`,`parent_id`
FROM `ofuj0_assets`
WHERE `name` IN ('root.1','com_actionlogs','com_admin','com_ajax','com_associations','com_banners','com_cache','com_categories','com_checkin','com_config','com_contact','com_content','com_contenthistory','com_cpanel','com_fields','com_finder','com_installer','com_joomlaupdate','com_languages','com_login','com_mailto','com_media','com_menus','com_messages','com_modules','com_newsfeeds','com_plugins','com_postinstall','com_privacy','com_redirect','com_search','com_tags','com_templates','com_users','com_wrapper')
Перед выполнением запроса загружены следующие файлы(11 штук):
- components/com_content/content.php
- libraries/src/MVC/Controller/BaseController.php
- components/com_content/controller.php
- components/com_content/views/featured/view.html.php
- libraries/src/MVC/View/HtmlView.php
- components/com_content/models/featured.php
- components/com_content/models/articles.php
- libraries/src/MVC/Model/ListModel.php
- libraries/src/Table/Table.php
- libraries/joomla/observable/interface.php
- libraries/src/Table/TableInterface.php
11
SELECT a.id, a.title, a.alias, a.introtext, a.fulltext, a.checked_out, a.checked_out_time, a.catid, a.created, a.created_by, a.created_by_alias, CASE WHEN c.published = 2 AND a.state > 0 THEN 2 WHEN c.published != 1 THEN 0 ELSE a.state END as state,CASE WHEN a.modified = '0000-00-00 00:00:00' THEN a.created ELSE a.modified END as modified, a.modified_by, uam.name as modified_by_name,CASE WHEN a.publish_up = '0000-00-00 00:00:00' THEN a.created ELSE a.publish_up END as publish_up,a.publish_down, a.images, a.urls, a.attribs, a.metadata, a.metakey, a.metadesc, a.access, a.hits, a.xreference, a.featured, a.language, LENGTH(a.fulltext) AS readmore, a.ordering,fp.ordering,c.title AS category_title, c.path AS category_route, c.access AS category_access, c.alias AS category_alias,c.published, c.published AS parents_published, c.lft,CASE WHEN a.created_by_alias > ' ' THEN a.created_by_alias ELSE ua.name END AS author,ua.email AS author_email,parent.title as parent_title, parent.id as parent_id, parent.path as parent_route, parent.alias as parent_alias
FROM #__content AS a
INNER JOIN #__content_frontpage AS fp ON fp.content_id = a.id
LEFT JOIN #__categories AS c ON c.id = a.catid
LEFT JOIN #__users AS ua ON ua.id = a.created_by
LEFT JOIN #__users AS uam ON uam.id = a.modified_by
LEFT JOIN #__categories as parent ON parent.id = c.parent_id
WHERE a.access IN (1,1,5) AND c.access IN (1,1,5) AND c.published = 1 AND a.state = 1 AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2019-12-29 06:13:52') AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2019-12-29 06:13:52')
ORDER BY c.lft, a.featured DESC, fp.ordering, CASE WHEN a.publish_up = '0000-00-00 00:00:00' THEN a.created ELSE a.publish_up END DESC , a.created DESC LIMIT 4
Приведённый выше SQL запрос вернул 0 строк.
Перед выполнением запроса загружены следующие файлы(4 штуки):
- libraries/src/Access/Rules.php
- libraries/src/Access/Rule.php
- libraries/src/Language/Multilanguage.php
- components/com_content/helpers/query.php
12
SELECT COUNT(*)
FROM ofuj0_content AS a
INNER JOIN ofuj0_content_frontpage AS fp ON fp.content_id = a.id
LEFT JOIN ofuj0_categories AS c ON c.id = a.catid
LEFT JOIN ofuj0_users AS ua ON ua.id = a.created_by
LEFT JOIN ofuj0_users AS uam ON uam.id = a.modified_by
LEFT JOIN ofuj0_categories as parent ON parent.id = c.parent_id
WHERE a.access IN (1,1,5) AND c.access IN (1,1,5) AND c.published = 1 AND a.state = 1 AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2019-12-29 06:13:52') AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2019-12-29 06:13:52')
Перед выполнением запроса загружен один файл:
- libraries/src/Pagination/Pagination.php
13. Модули и расширения
SELECT m.id, m.title, m.module, m.position, m.content, m.showtitle, m.params, mm.menuid
FROM ofuj0_modules AS m
LEFT JOIN ofuj0_modules_menu AS mm ON mm.moduleid = m.id
LEFT JOIN ofuj0_extensions AS e ON e.element = m.module AND e.client_id = m.client_id
WHERE m.published = 1 AND e.enabled = 1 AND (m.publish_up = '0000-00-00 00:00:00' OR m.publish_up <= '2019-12-29 06:13:52') AND (m.publish_down = '0000-00-00 00:00:00' OR m.publish_down >= '2019-12-29 06:13:52') AND m.access IN (1,1,5) AND m.client_id = 0 AND (mm.menuid = 101 OR mm.menuid <= 0)
ORDER BY m.position, m.ordering
Перед выполнением запроса загружены следующие файлы(17 штук):
- plugins/content/loadmodule/loadmodule.php
- plugins/content/joomla/joomla.php
- plugins/content/fields/fields.php
- plugins/content/contact/contact.php
- plugins/content/emailcloak/emailcloak.php
- plugins/content/pagebreak/pagebreak.php
- plugins/content/pagenavigation/pagenavigation.php
- libraries/src/Router/Route.php
- components/com_content/views/featured/tmpl/default.php
- libraries/src/HTML/HTMLHelper.php
- libraries/cms/html/behavior.php
- libraries/cms/html/jquery.php
- libraries/src/Filesystem/File.php
- libraries/src/Environment/Browser.php
- templates/protostar/index.php
- libraries/cms/html/bootstrap.php
- libraries/src/Helper/ModuleHelper.php
14. Обновление сессии (почему то отладчик Joomla этот запрос не показывает)
UPDATE `ofuj0_session`
SET `data` = 'joomla|s:736:\"TzoyNDoiSm9vbWxhXFJlZ2lzdHJ5XFJlZ2lzdHJ5IjozOntzOjc6IgAqAGRhdGEiO086ODoic3RkQ2xhc3MiOjE6e3M6OToiX19kZWZhdWx0IjtPOjg6InN0ZENsYXNzIjozOntzOjc6InNlc3Npb24iO086ODoic3RkQ2xhc3MiOjM6e3M6NzoiY291bnRlciI7aTozO3M6NToidGltZXIiO086ODoic3RkQ2xhc3MiOjM6e3M6NToic3RhcnQiO2k6MTU3NzU5OTAyNztzOjQ6Imxhc3QiO2k6MTU3NzU5OTYyOTtzOjM6Im5vdyI7aToxNTc3NjAwMDMyO31zOjU6InRva2VuIjtzOjMyOiJxRFBvMHpOOGFmaWlqb1pNaUIySnZBYjJXZXZlSmxXSyI7fXM6ODoicmVnaXN0cnkiO086MjQ6Ikpvb21sYVxSZWdpc3RyeVxSZWdpc3RyeSI6Mzp7czo3OiIAKgBkYXRhIjtPOjg6InN0ZENsYXNzIjowOnt9czoxNDoiACoAaW5pdGlhbGl6ZWQiO2I6MDtzOjk6InNlcGFyYXRvciI7czoxOiIuIjt9czo0OiJ1c2VyIjtPOjIwOiJKb29tbGFcQ01TXFVzZXJcVXNlciI6MTp7czoyOiJpZCI7aTowO319fXM6MTQ6IgAqAGluaXRpYWxpemVkIjtiOjA7czo5OiJzZXBhcmF0b3IiO3M6MToiLiI7fQ==\";'
, `time` = 1577600032
WHERE `session_id` = X'676e6d73746d3276666837636b73347375386c657065736e386e'
Перед выполнением запроса загружены следующие файлы(32 штуки):
- libraries/src/Language/Text.php
- libraries/src/Utility/Utility.php
- libraries/src/Document/Renderer/Html/ModulesRenderer.php
- libraries/src/Document/DocumentRenderer.php
- libraries/src/Document/Renderer/Html/ModuleRenderer.php
- modules/mod_menu/mod_menu.php
- modules/mod_menu/helper.php
- modules/mod_menu/tmpl/default.php
- modules/mod_menu/tmpl/default_component.php
- libraries/src/Filter/OutputFilter.php
- libraries/vendor/joomla/filter/src/OutputFilter.php
- modules/mod_menu/tmpl/default_component.php
- templates/system/html/modules.php
- templates/protostar/html/modules.php
- modules/mod_login/mod_login.php
- modules/mod_login/helper.php
- libraries/src/Helper/AuthenticationHelper.php
- libraries/cms/html/select.php
- modules/mod_login/tmpl/default.php
- libraries/cms/html/form.php
- modules/mod_breadcrumbs/mod_breadcrumbs.php
- modules/mod_breadcrumbs/helper.php
- libraries/src/Pathway/Pathway.php
- libraries/src/Pathway/SitePathway.php
- modules/mod_breadcrumbs/tmpl/default.php
- libraries/src/Document/Renderer/Html/HeadRenderer.php
- libraries/src/Document/Renderer/Html/MessageRenderer.php
- libraries/src/Layout/LayoutHelper.php
- libraries/src/Layout/FileLayout.php
- libraries/src/Layout/BaseLayout.php
- libraries/src/Layout/LayoutInterface.php
- templates/protostar/html/layouts/joomla/system/message.php