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


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

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

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

Author: hakre, 2010-08-11

12 answers

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

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

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

  2. Изложите свои аргументы в билете trac с теми же оговорками.

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

 42
Author: MikeSchinkel, 2010-08-11 22:19:55

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

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

 12
Author: Viper007Bond, 2010-08-11 21:40:03

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

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

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

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

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

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

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

Вы можете проверить, какой у вас новый URL, выполнив следующее:

function 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 ^dashboard(.*)$ wp-admin$1? [QSA,L,NE]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/?$ / [NE,R=404,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/(.*)$ dashboard/$1 [QSA,R=301,L,NE]
</IfModule>
#CUSTOM ADMIN URL REWRITE

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

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

<?php
/**
 * Plugin Name: Change My Admin URL
 * Plugin URI: http://wordpress.stackexchange.com/questions/106/can-i-rename-the-wp-admin-folder
 * Description: Changes the admin url where wp-admin becomes dashboard (or whatever you change it to)
 * Version: 1.0
 * Author: Bryan Willis
 * Author URI: http://profiles.wordpress.org/codecandid
 * License: GPL2
 */

/* 

#CUSTOM ADMIN URL REWRITE FOR HTACCESS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^dashboard[^/]*$ dashboard/ [R=301,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^dashboard(.*)$ wp-admin$1? [QSA,L,NE]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/?$ / [NE,R=404,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/(.*)$ dashboard/$1 [QSA,R=301,L,NE]
</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');
defined('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-администратора на новый URL-адрес администратора. Вот подход, который я попробовал ниже. В то время как это ниже не работает Я думаю, что это на правильном пути. Я не совсем уверен, какой крючок использовать. htaccess может быть лучшей альтернативой, но я продолжал получать циклы перенаправления, когда пытался таким образом.

add_action('init', 'redirect_wp_admin_url_to_404');
function 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');
    if($check_wp_admin){
      wp_safe_redirect( '404.php' );
    }
  }
}
 11
Author: Bryan Willis, 2016-05-27 16:30:24

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

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

URL-АДРЕС администратора: http://my-blog.com/7nxnkkugrdzm/wp-admin

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

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

Также обратите внимание, что, хотя эта схема безопасности называется Скрытый URL, это не то же самое, что безопасность с помощью скрытия. Неясный URL - это совершенно правильная схема безопасности, которая так же хороша, как и пароль, в то время как безопасность с помощью неизвестности основывается на использовании секретные непроверенные процедуры.

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

 9
Author: cmc, 2013-03-13 15:08:23

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

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

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

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

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

 7
Author: Graeme, 2020-06-15 08:21:38

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

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

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

 6
Author: MathSmath, 2010-11-15 07:11:50

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

Http://wp.tutsplus.com/tutorials/10-steps-to-securing-your-wordpress-installation/

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
whitelist address
allow from <IP ADDRESS HERE>
</LIMIT>
 3
Author: Josh, 2012-11-05 03:43:47

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

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

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

 1
Author: Carl Alberto, 2016-05-16 03:22:34

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

 0
Author: edelwater, 2010-11-14 21:09:02

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

В прошлом я делал то же самое для клиента, выполняя полный поиск папок с помощью кода (редактор, который я использую) для тега "wp-администратор, wp-контент... и т. Д.", И я удаляю "wp-" из файлов.

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

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

Кристиан из Cozmolabs написал очень хороший учебник. Вы можете немного отредактировать код и запустить его в любой теме WordPress.

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

Здесь вы можете увидеть пример и код о том, как создать веб-страницу публикации. Отправление Сообщений Переднего Плана

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

 0
Author: Philip, 2017-04-13 12:37:38

КАК НАСЧЕТ РАБОТЫ WP-АДМИНИСТРАТОРА ИЗ IFRAME?

Создайте новую страницу в панели управления wp под названием "Администратор". например: ваш домен/администратор/

Вы можете сделать заявление по делу с помощью header.php page.php и/или footer.php для отключения ненужных элементов в шаблоне, используя:

<?php
if(!is_page('admin')): //if not the admin page.

//wrap code not needed or wanted.

else: ?>

<style type="text/css">
    .responsive-iframe {
    position: relative;
    padding-bottom: 56.25%; /*16:9*/
    height: 0;
    overflow: hidden;

    iframe {
        position: absolute;
        top:0;
        left: 0;
        width: 100%; //or 100vw
        height: 100%; //or 100vh
    }
}   
</style>

<div class="responsive-iframe">
<iframe seamless="seamless" scrolling="yes" src="http://yourdomain/wp-admin/" frameborder="0" allowfullscreen></iframe>
</div>

<?php 
endif;

Это не очень красиво, но, по крайней мере, в какой-то степени вы можете скрыть wp-admin от url. Другой способ - возможно, использовать перенаправление домена с включенным URL-адресом маски.

 0
Author: samjco, 2019-04-27 05:40:48

Я сам удаляю wp-login.php файл и загрузите его на ftp, прежде чем я захочу войти в систему, и удалите его снова после этого до следующего раза, Но в противном случае я бы сказал

  1. Плагин Wordfence очень поможет блокировать попытки хакеров-людей. Используйте очень длинное и сложное имя пользователя для учетной записи администратора (хакеры и боты не предполагают, что люди используют длинные имена пользователей, только пароли), которое даже вы не можете запомнить, и войдите в систему, используя адрес электронной почты, который вы использовали вместо этого, также является коркер.
  2. Удалить содержимое comments.php файл, и никогда не разрешайте комментарии на вашем веб-сайте, ни регистрации, лучше всего, ограничивая доступ только администраторам и, возможно, если вам нужны ваши авторы и редакторы. Удаление comments.php содержимое предотвращает появление внедренных вредоносных программ и взломов.
  3. поставьте пробел между двумя словами в качестве имени для входа, так как большинство хакеров не понимают, что вы можете использовать имя пользователя с пустым пробелом, и часто используют подчеркивания, даже когда они угадывают ваше имя пользователя (человек хакеры, использующие социальную инженерию). Было доказано, что длинные сложные пароли не более надежны, чем пароль из 8 символов/целого числа, так что это для вас, чтобы изучить.
  4. И последнее, но не менее важное: нужно не только защищать login.php , (кстати, никогда не используйте имя пользователя "[вход]"), но также файл xml rpc, который другие хакеры любят использовать для входа в систему. Обычно такого рода атаки - это низкоуровневые подонки с небольшим знанием реального взлома с использованием ИИ для выполнения работы, и это просто испытывал свою удачу. Но лучше перестраховаться, чем потом сожалеть. Кроме того, плагин WP all in one для миграции позволяет загружать весь сайт с базой данных и конфигурацией и загружать его снова в случае взлома и удаления сайта. ежедневное резервное копирование перед сном гарантирует, что ваш сайт всегда будет таким, каким он был до того, как вы легли спать. резервное копирование в автономном режиме на жесткий диск (внешний), и вы всегда будете в безопасности. О, и сведите количество плагинов к минимуму, так как разработчики часто оставляют их гнить и не обновляют, и если в вашем блоге использовался плагин (например, плагины для плейлистов YouTube) для публикации, удаление устаревшего плагина сделает многие сообщения бессмысленными из-за отсутствия контента (всегда думайте заранее). Но используйте необходимые плагины, такие как akismet, wordfence free и wp, все в одном инструменте миграции для резервного копирования файлов веб-сайта, контента и базы данных. Многие плагины также имеют уязвимости, и быстрый просмотр вашего сервера покажет хакеру все папки, и он узнает, что у вас есть плагин, и атаковать через это. Также не используйте Discus или другие сторонние формы комментариев, так как в результате создания четвертой стороной (youtube в настоящее время взломан с помощью тегов местоположения в приложениях), очищается и компрометируется больше данных, чем это полезно. Лучше иметь страницу в Facebook и позволять людям комментировать там, но не вставлять виджеты или ссылки на код из других доменов или на другие домены, а также слишком много их API, так как передаваемые и передаваемые данные легко перехватываются профессиональными хакерами. У меня нет из-за этого комментируйте или делитесь кнопками на моих сайтах wordpress. (я все еще преуспеваю и хорошо живу, не нуждаясь в комментариях на сайтах моего типа). Например, если бы этот вопрос был в виде видео на YouTube, все бы оставили wordpress в stackexchange (не то, чтобы я предполагал, что обмен стеками - это фантастика!) и прокомментировали свой канал на YouTube в приложении. Безопаснее, надежнее. Поэтому создайте канал YT и страницу FB и используйте их для того, чтобы люди могли "подписываться и комментировать" и сохранять сайт WordPress как можно более голые кости без параметров входа в систему
 0
Author: Ajarn Spencer Littlewood, 2020-10-31 20:56:59