Можно ли переименовать папку wp-admin?

Можно ли переименовать папку wp-admin?

Я знаю, что могу просто переименовать его, но если он не будет поддержан кодом, многие вещи сломаются.

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

67 голосов | спросил Adam Dempsey 12 AM00000010000003031 2010, 01:35:30

10 ответов


35

К сожалению, в настоящее время не представляется возможным и, по-видимому, не будет рассматривать его как модификацию, как вы можете видеть по этому поводу недавний поток в списке wp-hackers и этот билет на трассе .

Если вы действительно хотите, чтобы это было просмотрено, я бы предложил:

  1. Представьте свой случай на wp-хакерах , но предупредите, что ваш прецедент лучше хорошо, а не «безопасность через неясность», или она будет сбита, как указано выше.

  2. Представьте свой аргумент в билет trac с теми же предостережениями.

  3. Еще лучше, добавьте патч в trac, который позволяет желаемую функциональность. Гораздо сложнее сказать «нет», когда работа уже выполнена (но, конечно, у них есть предпочтение говорить «нет» намного чаще, чем они говорят «да», поэтому следует предупредить.)

ответил MikeSchinkel 12 AM00000020000005531 2010, 02:19:55
10

Нет, вы не можете переименовать эту папку. Путь жестко закодирован в нескольких местах по всему источнику WordPress.

Безопасность через неясность в любом случае не является безопасностью.

ответил Viper007Bond 12 AM00000010000000331 2010, 01:40:03
10

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

Чтобы переименовать администратор Wordpress, вам нужно сделать два шага.

В следующем коде я использую панель управления как имя моего нового wp-admin. Измените панель управления в приведенном ниже коде на то, что вы хотите назвать своим новым администратором.

Сначала вам нужно сообщить wordpress, что вы хотите изменить URL-адрес администратора.

В строке 2558 wp-includes /link -template.php - это код, который отменяет URL-адрес администратора.

Используя фильтр admin_url, вы можете успешно изменить URL-адрес администратора со следующей функцией:

my_custom_admin_url ($ path) {
    return str_replace ('wp-admin', 'dashboard', $ path);
}
add_filter ('admin_url', 'my_custom_admin_url');

Вы можете проверить, что делает ваш новый URL:

функция whats_my_admin_url () {
    $ url = admin_url ();
    echo '<pre> <code>'; print_r ($ url); echo '</code> </pre>';
    }
add_action ('admin_notices', 'whats_my_admin_url');

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

Во-вторых, измените .htaccess в корневом каталоге wordpress и добавьте следующее в начале, прежде чем что-либо еще.

#CUSTOM ADMIN URL REWRITE
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^ dashboard [^ /] * $ dashboard /[R = 301, L]
RewriteCond% {QUERY_STRING} (. *) $
RewriteRule ^ панель инструментов (. *) $ Wp-admin $ 1? [QSA, L, NE]
RewriteCond% {QUERY_STRING} (. *) $
RewriteRule ^ wp-admin /? $ /[NE, R = 404, L]
RewriteCond% {QUERY_STRING} (. *) $
RewriteRule ^ wp-admin /(.*)$ приборная панель /$ 1 [QSA, R = 301, L, NE]
& Lt; /IfModule >
#CUSTOM ADMIN URL REWRITE

Теперь я не эксперт, когда дело доходит до редактирования .htaccess, поэтому некоторые из них могут не понадобиться. Однако, я никогда не находил, что это не сработало.

Вот и все. Создайте файл и перейдите в папку плагинов или папку mu-plugins. (не забудьте изменить каждый экземпляр панели управления на ваш предпочтительный URL-адрес администратора)

& л;? PHP
/**
 * Имя плагина: измените URL моего администратора
 * URI плагина: http://wordpress.stackexchange.com/questions/106/can-i-rename-the-wp-admin-folder
 * Описание: Изменяет адрес администратора, где wp-admin становится панелью управления (или чем бы вы ее не изменяли)
 * Версия: 1.0
 * Автор: Брайан Уиллис
 * Авторский URI: http://profiles.wordpress.org/codecandid
 * Лицензия: GPL2
 * /

/*

#CUSTOM ADMIN URL REWRITE ДЛЯ HTACCESS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^ dashboard [^ /] * $ dashboard /[R = 301, L]
RewriteCond% {QUERY_STRING} (. *) $
RewriteRule ^ панель инструментов (. *) $ Wp-admin $ 1? [QSA, L, NE]
RewriteCond% {QUERY_STRING} (. *) $
RewriteRule ^ wp-admin /? $ /[NE, R = 404, L]
RewriteCond% {QUERY_STRING} (. *) $
RewriteRule ^ wp-admin /(.*)$ приборная панель /$ 1 [QSA, R = 301, L, NE]
& Lt; /IfModule >
#CUSTOM ADMIN URL REWRITE

* /

function my_custom_admin_url ($ path) {
    return str_replace ('wp-admin', 'dashboard', $ path);
}
add_filter ('admin_url', 'my_custom_admin_url');

Проблемы?

У меня не было более года, используя этот метод. Вы можете заметить, что wp-admin все равно будет работать, какой отстой, но это скорее предосторожность, чем что-либо. У меня были некоторые плохо написанные плагины, которые жестко закодировали wp-admin в некоторых местах, которые не загружались при попытке заблокировать или перенаправить wp-admin. Я уверен, что есть способ сделать это с помощью htaccess, но я не смог понять это. Кроме того, это не было проверено на многопользовательском или вообще что-либо подобное.

Обновление: альтернативный подход

Это довольно похоже, но почему-то мой вышеприведенный ответ не работал на каждом хосте, который я пробовал.

Добавить в .htaccess

RewriteRule ^ admin /(.*) wp-admin /$ 1?% {QUERY_STRING} [L]

Создайте файл в папке mu-plugins под названием new-admin.php и добавьте его:

& л;? PHP
define ('WP_ADMIN_DIR', 'admin');
(«SITECOOKIEPATH») || define ('SITECOOKIEPATH', preg_replace ('| https?: //[^ /] + | i', '', get_option ('siteurl'). '/'));
define ('ADMIN_COOKIE_PATH', SITECOOKIEPATH. WP_ADMIN_DIR);

add_filter ('site_url', 'wpadmin_filter', 10, 3);
 function wpadmin_filter ($ url, $ path, $ orig_scheme) {
  $ old = array ("/(wp-admin) /");
  $ admin_dir = WP_ADMIN_DIR;
  $ new = array ($ admin_dir);
  return preg_replace ($ old, $ new, $ url, 1);
}

Примечание. Этот подход, по-видимому, работал лучше на некоторых хостах, но все же возникла проблема не перенаправления ссылок wp-admin на новый URL-адрес администратора. Вот такой подход, который я пробовалниже. Хотя это ниже не работает Я думаю, что это на правильном пути. Я не совсем уверен, что использовать. htaccess может быть лучшей альтернативой, но я продолжал получать циклы перенаправления, когда я пробовал этот путь.

add_action ('init', 'redirect_wp_admin_url_to_404');
функция redirect_wp_admin_url_to_404 () {
  $ redirect_to = $ _SERVER ['REQUEST_URI'];
  if (count ($ _ REQUEST)> 0 & & array_key_exists ('redirect_to', $ _REQUEST)) {
    $ redirect_to = $ _REQUEST ['redirect_to'];
    $ check_wp_admin = stristr ($ redirect_to, 'wp-admin');
    если ($ check_wp_admin) {
      wp_safe_redirect ('404.php');
    }
  }
}
ответил Bryan Willis 7 J0000006Europe/Moscow 2014, 17:56:35
9

Подходом, который официально поддерживается WordPress, является перемещение установочных файлов WordPress в подкаталог, сохраняя сайт в корне, например:

URL-адрес сайта: http://my-blog.com

URL-адрес администратора: http://my-blog.com/7nxnkkugrdzm/wp-admin

Хотя это не дает вам полной свободы в изменении URL-адреса администратора, это означает, что вы можете префикс использовать что угодно. Это так же хорошо с точки зрения безопасности. Он также имеет преимущество перемещения всех установочных файлов WordPress в неизвестное пользователю местоположение, поэтому он должен быть частью любой стратегии сжатия Wordpress.

Из WordPress Codex: Предоставление WordPress собственного каталога

Кроме того, обратите внимание, что хотя эта схема безопасности называется Obscure URL , это не то же самое, что защита от неизвестности . Obscure URL - это совершенно правильная схема безопасности, которая так же хороша, как и пароль, в то время как security by obscurity полагается на использование секретных недоказанных процедур.

Те же самые оговорки применяются, как и для паролей. Вызовите пользовательскую папку как-то вроде 7nxnkkugrdzm, а не happy-snappy-admin. Кроме того, убедитесь, что ваши пользователи знают, что адрес администратора является секретом.

ответил cmc 13 MarpmWed, 13 Mar 2013 18:47:17 +04002013-03-13T18:47:17+04:0006 2013, 18:47:17
7

На самом деле есть очень хороший учебник:

  

Как скрыть информацию WordPress из исходного кода mirror

     

Включает, как переименовать wp-контент, переименовать wp-admin и удалить тег генератора из WordPress.

     

В этом учебном пособии будут изменены доказательства очевидные или указания на них в исходном коде, , эффективно удаляющие информацию WordPress с вашего сайта .

В нем объясняется, как изменить имя папки, URL-адрес входа wp-admin и убедиться, что login.php перенаправляется на основной сайт, чтобы люди могли туда напрямую.

ответил Graeme 9 Jpm1000000pmSun, 09 Jan 2011 21:09:26 +030011 2011, 21:09:26
6

Если вы хотите, чтобы пользователи на уровне подписчиков могли видеть каталог wp-admin, вы можете создавать автономные версии страниц входа /регистрации и профиля /редактирования в свои собственные каталоги. Затем вы можете защитить свою папку администратора через ограничение htaccess или IP. (Хотя, если вы это сделаете, вы должны сделать исключение для файла admin-ajax, поскольку некоторые плагины используют его для добавления, um, функциональность AJAX).

Этот подход дает вам «неясность», которую вы хотите (что на самом деле мало что делает, но часто заставляет клиентов и менеджеров чувствовать себя лучше), а также добавляет некоторую реальную безопасность, ограничивая доступ к админу. Плюс, честно говоря, URL, который просто говорит «/login», выглядит намного лучше, чем «wp-login.php».

Разумеется, это не делает ваш сайт пуленепробиваемым. Но это приятное базовое усовершенствование.

ответил MathSmath 15 12010vEurope/Moscow11bEurope/MoscowMon, 15 Nov 2010 10:11:50 +0300 2010, 10:11:50
2

Одним из способов блокировки административной панели управления является использование правил .htaccess. Просто добавьте файл .htaccess в корень каталога wp-admin. После добавления этого файла просто добавьте следующее правило, чтобы запретить все IP-адреса и разрешить только ваш IP:

http://wp.tutsplus.com /учебники /10-шагов-к-крепления-ваш-WordPress установки /

AuthUserFile /dev /null
AuthGroupFile /dev /null
AuthName "Контроль доступа к WordPress Admin"
AuthType Basic
<LIMIT GET>
запретить порядок, разрешить
отказывать всем
белый список
разрешить от <IP ADDRESS ЗДЕСЬ>
& Lt; /ЛИМИТ >
ответил Josh 7 WedEurope/Moscow2011-12-07T18:10:00+04:00Europe/Moscow12bEurope/MoscowWed, 07 Dec 2011 18:10:00 +0400 2011, 18:10:00
1

Если вы хотите переименовать wp-admin с целью добавления дополнительного уровня безопасности в вашу установку WordPress, вы также можете попробовать Roots /Bedrock Boilerplate WordPress . Это может помочь изолировать корневой веб-сайт, чтобы ограничить доступ к файлам, отличным от веб-сайтов. Он также может помочь в организации /защите всего ядра WordPress, помещая его в свой собственный подкаталог, например, переименование wp-контента /в приложение /, а также следующие дополнительные функции:

  • Управление зависимостями с Composer
  • Конфигурация Easy WordPress с файлами, специфичными для среды
  • Переменные среды с Dotenv
  • Автозагрузчик для mu-plugins (используйте обычные плагины как mu-plugins)
  • Расширенная защита (разделенные корневые и защищенные пароли с паролем wp-password-bcrypt)

Вы также можете проверить их GitHub Repo для более подробного использования:

ответил Carl Alberto 16 Mayam16 2016, 06:22:34
0

Взгляните на http://wordpress.org/extend/plugins/stealth-login / это может помочь вам.

ответил edelwater 15 12010vEurope/Moscow11bEurope/MoscowMon, 15 Nov 2010 00:09:02 +0300 2010, 00:09:02
0

Нет, невозможно переименовать папку wp-admin с любым кодом или htaccess hack,

В прошлом я сделал то же самое для клиента, выполнив полный поиск в папке через Coda (редактор, который я использую) для тега «wp-admin, wp-content ... и т. д.», и я удаляю «wp- "из файлов.

После этого вы сможете установить его, но:
Вы должны сделать то же самое с плагинами, которые хотите установить, Вы должны обновить ядро ​​вручную, очистив тег «wp-» от новых версий.

Во всех способах я не предлагаю вам делать что-то подобное, оставить его как есть и попытаться реализовать страницу входа /регистрации пользователя /профиля, чтобы дать вашим пользователям и клиентам лучший опыт.

  

Кристиан из Представление на лицевой стороне

Также вы можете посмотреть несколько приятных плагинов здесь которые делают то же самое с большей функциональностью.

ответил Philip 10 Jpm1000000pmMon, 10 Jan 2011 12:56:32 +030011 2011, 12:56:32

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132