Скрываем config.core.php
Я давненько на своих сайтах меняю адрес админки и папки /connectors/
Мне нравится, что MODX позволяет это делать и очень сложно обнаружить, что сайт работает на нём. Но тут Николай Ланец смутил меня тем, что MODX можно определить еще и по файлу /config.core.php в корне. Да, он не выдаёт никакой информации, но показывает белый экран, а веб-сервер отдаёт ответ 200.
Чуть-чуть поискать и вариант решения найден — нужно просто прописать правило для веб-сервера, чтобы он отправлял нужный заголовок.
Кстати, так же можно закрыть и папку /core/, чтобы вместо ошибки 403 Forbidden отдавалась ошибка 404 — типа «не знаю никакого core, вы что? Тут таких нет...»
Вот, что нужно прописать в .htaccess (если у вас Apache)
Теперь, сервер будет показывать 404 страницу при попытке просмотреть файлы из /core/ или файла /config.core.php
Надеюсь, знатоки подскажут, как сделать это для nginx. И вообще — как вы думаете, правильно ли так закрывать папку /core/ или лучше вернуть 403 Forbidden?
Мне нравится, что MODX позволяет это делать и очень сложно обнаружить, что сайт работает на нём. Но тут Николай Ланец смутил меня тем, что MODX можно определить еще и по файлу /config.core.php в корне. Да, он не выдаёт никакой информации, но показывает белый экран, а веб-сервер отдаёт ответ 200.
Чуть-чуть поискать и вариант решения найден — нужно просто прописать правило для веб-сервера, чтобы он отправлял нужный заголовок.
Кстати, так же можно закрыть и папку /core/, чтобы вместо ошибки 403 Forbidden отдавалась ошибка 404 — типа «не знаю никакого core, вы что? Тут таких нет...»
Вот, что нужно прописать в .htaccess (если у вас Apache)
RewriteCond %{REQUEST_URI} ^/config.core.php*
RewriteRule ^(.*)$ [R=404]
RewriteCond %{REQUEST_URI} ^/core/*
RewriteRule ^(.*)$ [R=404]
Теперь, сервер будет показывать 404 страницу при попытке просмотреть файлы из /core/ или файла /config.core.php
Надеюсь, знатоки подскажут, как сделать это для nginx. И вообще — как вы думаете, правильно ли так закрывать папку /core/ или лучше вернуть 403 Forbidden?
Комментарии: 66
Пару раз встречал, когда папки переименовывают, но потом в robots.txt пишут типа такого
Disallow: /new_adminka/
Да все новички в этом ошибается! :D
… блин.
:D
ну ок, а как быть? от индексации-то надо закрыть, сеошники орут
:D
ну ок, а как быть? от индексации-то надо закрыть, сеошники орут
Неужели робот индексит страницу авторизации в админку? Первый раз слышу.
сеошникам бы объяснить то же самое
вот прямой «свежий» диалог с очень хорошим сео-спецом.
*Алексей*
а тут закономерный вопрос
надо ли админку от индексации закрывать и служебные папки?
*...*
да обычно закрывают админ и служебные папки и 404 стр
стандартный набор папок в робот добавь
*Алексей*
а хоть один случай индексации этих папок у кого-то был?
*...*
в смысле?
ну то ли робот ходит только по нужному, то ли по всему на свете и нихрена не врубается
А потом робот обижается, что его не предупредили, психует и со злости понижает сайт в поиске… эти роботы, они такие эмоциональные… работа у них каторжная — ходить по сайтам, странички отсматривать…
ну так-то правда же) если всё незакрыто, то непонятно, где нужное. Но админку «разрешили» не прятать, уговорил))
Если она не переименована, то можно и оставить в роботс. А если переименовали, то зачем светить её. Смысл переименования теряется.
а хоть один случай индексации этих папок у кого-то был?Только если найдется «добрый» человек с мотивом «век меня помнить будете» и разместит где-нибудь ссылки. Робот ходит только по ссылкам — внешним, внутренним. Ещё подглядывает в карту сайта.
Кстати. В Яндекс-Вебмастер когда то админку джумлы и вордпресса видел, а вот системные папки MODX ни разу не видел среди проиндексированных страниц. Видимо, СЕОшников можно отсеивать по этому параноидальному желанию вносить в роботс необязательные записи. Другое дело на фронтенде, страницы регистрации, подписки и т.п.
сеошники не всегда всё знают про Modx, это еще не делает их плохими сеошниками. В моём случае, достаточно было убедить, что ссылок на админку нигде нет.
Лучше закрывать на уровне сервера. Переименованию админку указывать в robots смысла мало. Там все равно находить для поиска нечего.
периодически сталкивался со случаями, когда админка закрыта дополнительной http авторизацией.
периодически сталкивался со случаями, когда админка закрыта дополнительной http авторизацией.
А вот у меня вопрос. Если зайти в MODX на несуществующую страницу (ну прям реально несуществующую, например modx.pro/sdsdsdfsdf), то нас перенаправит на внутреннюю заглушку CMF. А если зайти, используя твой способ, в папку /core/ или /config.inc.php, то мы увидим серверную 404. С этим как быть?)
В настройках сервера заранее определить адрес 404.
У меня показывается именно внутренняя заглушка: https://ilyaut.ru/config.core.php
А Я ещё и префикс таблиц другой делаю)
Папка /connectors/ переименовывается так же как и папка админки?
Если стоит компонент Tickets, то MODX палится исходным кодом, так как в нём появляется код
Папка /connectors/ переименовывается так же как и папка админки?
Если стоит компонент Tickets, то MODX палится исходным кодом, так как в нём появляется код
<link rel="stylesheet" href="/assets/components/tickets/js/web/editor/editor.css" type="text/css" />
<link rel="stylesheet" href="/assets/components/tickets/css/web/default.css" type="text/css" />
Вот как с этим быть?)
Указать в настройках tickets пути к файлам, расположенным в ином месте. Другое дело, что не все дополнения позволяют указывать пути с скриптам.
Надо, в общем, расширенную установку делать) Там много чего можно поменять, в том числе и имя конфигурационного ключа)
Давно так уже делаю.
business-vs-crisis.ru/manager/
business-vs-crisis.ru/core/
business-vs-crisis.ru/core.config.php
Даже где-то писал по этому поводу. При чем советую папки manager/, core/ и т.п. не переименовывать, а просто симлинки на них делать на новые УРЛ-ы. Все равно если кто будет на уровне PHP, он сможет добраться до кастомных папок где бы они ни были. А так главная задача — маскировка — выполнена, и проблем с нарушением структуры нет.
business-vs-crisis.ru/manager/
business-vs-crisis.ru/core/
business-vs-crisis.ru/core.config.php
Даже где-то писал по этому поводу. При чем советую папки manager/, core/ и т.п. не переименовывать, а просто симлинки на них делать на новые УРЛ-ы. Все равно если кто будет на уровне PHP, он сможет добраться до кастомных папок где бы они ни были. А так главная задача — маскировка — выполнена, и проблем с нарушением структуры нет.
Фавиконка и NewsModBox всё палит) Даже никакие пути перебирать не надо)
Палево))))
А если серьезно: она же не идет из коробки, у каждого своя фавиконка.
А если серьезно: она же не идет из коробки, у каждого своя фавиконка.
Disallow: /public/components/modxsite/*
Disallow: /public/components/modhybridauth/*
Обычная школа. 3-й «Б» класс.— Так, класс, успокоились. Иванов, хватит дергать за косички Курбанбаеву! Лучше ответь мне, на какой системе работает этот сайт? Садись, 4. Почему? Думал 2 секунды.
:)
Это как раз тот случай, когда яндекс все-таки что-то проиндексировал не нужное joxi.ru/brRDO4pfQn84a2
На счет шуток про школу: шути. Знаний правда у тебя все равно не прибавится от этого? И, если я не шучу над твоим кодом, это не значит, что у тебя там все ОК. Хочешь пройдусь по какому-нибудь твоему пакетику? Как когда пришлось переписывать почти все, что ты в консоль дописал и объяснять тебе почему так ни в коем случае нельзя делать? Ты просто реально уже начинаешь раздражать. Гонору дофига, а толку нефига. Был бы какой-то специалист вменяемый, а то переписал пару пакетиков и все, звезду поймал.
На счет шуток про школу: шути. Знаний правда у тебя все равно не прибавится от этого? И, если я не шучу над твоим кодом, это не значит, что у тебя там все ОК. Хочешь пройдусь по какому-нибудь твоему пакетику? Как когда пришлось переписывать почти все, что ты в консоль дописал и объяснять тебе почему так ни в коем случае нельзя делать? Ты просто реально уже начинаешь раздражать. Гонору дофига, а толку нефига. Был бы какой-то специалист вменяемый, а то переписал пару пакетиков и все, звезду поймал.
Опять 25. Остаётся только вспомнить поговорку про горбатого и могилу. Я всего лишь продолжил тему сторонников не прятаться, а просто закрывать доступы. Я абсолютно уверен, что ты добавил это по делу. Вот тут и проявляется плюс сторонников закрытия доступов. Как ни прячь, всё равно где-то всплывёт. У меня ровно такие же проблемы с hybridayth и приходится в роботс прописывать условия. Что естественно сразу делает очевидным систему. Поэтому какой смысл скрывать. Лучше направить усилия на другое.
Хочешь пройдусь по какому-нибудь твоему пакетику?Я только за.
Сергей, обходи мои комменты стороной. Они у тебя не конструктивны и дико меня раздражают. Ни один твой коммент я еще не смог для себя принять на практике. Ни к чему не уместные анекдотики — фигня какая-то.
Хочешь пройдусь по какому-нибудь твоему пакетику?Хочу. Хочу! ХОЧУ!!!
Читай ниже, давно уже написал.
Больше времени на тебя не потрачу, по тому что увидел уже достаточные выводы сделал.
Больше времени на тебя не потрачу, по тому что увидел уже достаточные выводы сделал.
А я твоими конструктивными комментариями зачитываюсь. Сначала про pdoTools и Василия. Когда был послан всеми на всех ресурсах, затихарился, отлежался, а теперь решил, что все забыли про тебя и пришёл сюда такой гордый — «Народ, каких дополнений не хватает? Готов за деньги сделать. Кто хочет меня купить на 2 часика». Опустился совсем. Бедняга. Подкинуть 500 рубликов?
Игнор.
Что, серьезно? Твой AdminTools ничего в БД не пишет? Вообще весь на сессиях? Вот с такими костылями? Ты что здесь еще делаешь? Иди переписывай все нафиг, не позорься. Это толпы школьников тебе будут кричать «Awesome!», не разбираясь в деталях. Но это как был быдлокод, так и остался. Судя по количеству форков на гитхабе ты усердно учился на Васиных и моих примерах, а сейчас решил уже что всех обогнал? Тебе учиться и учиться еще, и все равно всегда будешь в отстающих. Даже я сейчас, пока пишу эти строки, понимаю, что мог бы вместо этого чем-то полезным продолжить заниматься, а тебе-то вообще куда время тратить? Пока никаких новых технологий не придумал вообще расслабляться тебе рано. Но, подозреваю, что ты и сам уже понимаешь, что своих высот достиг, годы все-таки не те уже, вот и сидишь в детство впадаешь, анекдотики рассказываешь. Ну, каждому свое, и свое не каждому. Рассказывай дальше анекдотики, а я пойду дальше работать.
Помоему вот это подойдёт для nginx:
location ~* /((core/)|config\.[a-zA-Z]+\.php) {
deny all;
return 404;
}
Или так,
rewrite ^/config.core.php* 404 redirect;
Вместо 404 можно использовать что-угодно.
Видите, у вас редирект отмечается joxi.ru/bmooQp9IMX9nlm
Не, запреты или редиректы — это не то, будет свидетельствовать о том, что что-то там не так, не обычная страница.
У меня так прописано:
У меня так прописано:
location ~ ^/(assets|core|manager|connectors)/{
rewrite .*$ /404.html last;
}
location ~* config.(core|inc).php {
rewrite .*$ /404.html last;
}
То есть просто подмена, а не какие-либо редиректы.
А с чего вдруг такой кипишь? Стали сайты на MODX ломать?
Для фанатиков безопасности)
Мне нравится, что MODX позволяет это делать и очень сложно обнаружить, что сайт работает на нёмАх да, в новом модиксе еще и заголовок X-Powered-By придется выпиливать =)
ну вот прячете все следы modx, а в итоге выходит, что в каких-то рейтингах на нём два с половиной сайта и заказчик паникует о «непопулярной системе, дайте джумлу/вордпресс».
Вот бы кто манаул написал на эту тему, а то самому страшно соваться в эти дебри, сломаю что-нибудь…
Вот есть небольшой)
https://rtfm.modx.com/revolution/2.x/administering-your-site/security/hardening-modx-revolution вот он, самый крутой мануал
перевести, может? я могу, если желающие найдутся
Я бы с удовольствием почитал перевод. Безопасность для меня интересная тема) Мне вот непонятно, можно ли уже на рабочем сайте делать все манипуляции что там описаны.
можно ли уже на рабочем сайте делать все манипуляции что там описаны.можно, только аккуратно)
а пожалста.
Конечно переводи.
а папку /core/ можно вообще вынести из корня за пределы public_html, и хренушки туда влезешь извне тогда. Работает прекрасно. С обновлениями некоторых компонентов только бывают трудности из за прав на папки
хренушки туда влезешь извне тогдаИ много народу туда лезут? Я слышал только про дыру в connectors (давным давно).
Я просто закрываю все служебные директории паролем через Nginx и нет проблем.
А можно еще и скомбинировать это с пропуском по IP, через директиву satisfy. Кто в разрешённом списке — ходит без авторизации, а у других запрашивается логин-пароль.
Очень удобно, рекомендую.
А можно еще и скомбинировать это с пропуском по IP, через директиву satisfy. Кто в разрешённом списке — ходит без авторизации, а у других запрашивается логин-пароль.
Очень удобно, рекомендую.
Василий, а обновлению системы это никак не мешает? Можно смело обновлять или лучше отключить защиту паролем на момент обновления?
Никак не помешает.
3 года работаю на MODX REVO пока админку и других папок яндекс и гугл не индексировал.
В robots.txt эти папки не указаны.
Все системные папки переименованы кроме assets (Thumbof тупит иногда если сменит папку)
В яше запретил индексацию yandex.countr а то он все линки при переходе отправляет индексацию.
1 сайт Индексирован 1к страниц
2 сайт Индексирован 2.2к страниц
В robots.txt эти папки не указаны.
Все системные папки переименованы кроме assets (Thumbof тупит иногда если сменит папку)
В яше запретил индексацию yandex.countr а то он все линки при переходе отправляет индексацию.
1 сайт Индексирован 1к страниц
2 сайт Индексирован 2.2к страниц
location ~ ^/(assets|core|manager|connectors)/{Сделав так, не смог зайти в админку.
rewrite .*$ /404.html last;
}
По моему Николай тут просто что-то не дописал.
Можно ограничить доступ по IP — в принципе этого достаточно, учитывая что почти у каждого есть возможность использовать статический IP / VPN со статическим IP.
Можно ограничить доступ по IP — в принципе этого достаточно, учитывая что почти у каждого есть возможность использовать статический IP / VPN со статическим IP.
location ~ ^/(core|manager|connectors)/{
allow 192.168.1.1;
deny all;
}
Или ограничить по паролю, как говорил Василий.
да, идея, надо будет попробовать.
Паранойя такая паранойя.
Я остановился на этом — в htaccess:
RewriteCond %{REQUEST_URI} ^/config.core.php*
RewriteRule ^(.*)$ [R=404]
RewriteCond %{REQUEST_URI} ^/core*
RewriteRule ^(.*)$ [R=404]
Переименовал каталоги — manager и connectors с правкой путей к ним в config.inc.php
Я остановился на этом — в htaccess:
RewriteCond %{REQUEST_URI} ^/config.core.php*
RewriteRule ^(.*)$ [R=404]
RewriteCond %{REQUEST_URI} ^/core*
RewriteRule ^(.*)$ [R=404]
Переименовал каталоги — manager и connectors с правкой путей к ним в config.inc.php
berlinadesign.ru/manager/ — чел просто стили поменял
berlinadesign.ru — здесь cms через Wappalyzer не определяется
Как в данном случае скрыты следы CMS для Wappalyzer и ей подобным сайтам?
berlinadesign.ru — здесь cms через Wappalyzer не определяется
Как в данном случае скрыты следы CMS для Wappalyzer и ей подобным сайтам?
Для того что бы скрыть на nginx признаки использования modx для modhost и не только для этого я использую следующую конфигурацию:
Для того что бы robots.txt можно было сделать ресурсом modx, а не статичным файлом на modhost
Илья, пожалуйста добавь в инструкцию и поправь название немного.
location ~* ^/config.core.php { rewrite ^/(.*)$ /index.php?q=$1; }
location ~* ^/core/ { rewrite ^/(.*)$ /index.php?q=$1; }
location ~* ^/ht\. { rewrite ^/(.*)$ /index.php?q=$1; }
location ~* ^/\. { rewrite ^/(.*)$ /index.php?q=$1; }
Для того что бы robots.txt можно было сделать ресурсом modx, а не статичным файлом на modhost
location = /robots.txt { allow all; log_not_found off; access_log off; try_files $uri $uri/ @rewrite; }
Илья, пожалуйста добавь в инструкцию и поправь название немного.
Доброго времени суток!!!
Не могу решить такой вопросик — установил modx на сервер, на котором находятся еще 2 сайта. (не modx )
Так как доменного имени пока нету, прописал в файле hosts строку доступа через ip. — ip название сайта. Вобщем
сайт открывается и работает нормально. НО, если обратится к любому файлу в директории core, то сервер отдает этот файл на скачивание. Причем при той же конфигурации, но на локальном сервере ответ нормальный 403 forbidden.
Еще есть сайт на другом хостинге, но там есть доменное имя, и там все нормально, при доступе к core выдается 403 ошибка.
Может кто знает в чем проблема, почему при закрытом доступе в .htaccess файлы из core отдаются на скачивание?
Не могу решить такой вопросик — установил modx на сервер, на котором находятся еще 2 сайта. (не modx )
Так как доменного имени пока нету, прописал в файле hosts строку доступа через ip. — ip название сайта. Вобщем
сайт открывается и работает нормально. НО, если обратится к любому файлу в директории core, то сервер отдает этот файл на скачивание. Причем при той же конфигурации, но на локальном сервере ответ нормальный 403 forbidden.
Еще есть сайт на другом хостинге, но там есть доменное имя, и там все нормально, при доступе к core выдается 403 ошибка.
Может кто знает в чем проблема, почему при закрытом доступе в .htaccess файлы из core отдаются на скачивание?
Вопрос решился на хостинге. Оказалось там nginx))
Но тут Николай Ланец смутил меня тем, что MODX можно определить еще и по файлу /config.core.php в корнео0 чудо.Вы никогда не сможете открыть сайт если в запросе присутствует строка (без пробелов)
222 5073 858 5072011
Ответом будет не только белый экран, но еще и характерный статус ответа — 422:-) Кстати, фиксится вот этим PR, который не могут принять уже 10 дней. Заняты видимо слишком)P.S. Безопасник Ланец как всегда отличился. Отдал не только ошибку, но еще и внедрил раскрытие путей.
P.P.S. Только сейчас заметил, что тема стара как мир. Простите за АП, но в ленте комментариев вылезло.
О_о
Прикольный костыль))
Прикольный костыль))
Странно, на сайте требования указаны другие
Илья подскажи config.inc.php — да 404 ошибка, но /core/ — 403 отдает и здесь тоже кстати…
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.