2012-02-09 2 views
2

Я занимаюсь этим вопросом с тех пор, я прочитал массу статей и материалов там, но я не мог найти место, которое показывает ПРАВО путь, стандартный, правильный, что бы вы ни называли, чтобы предотвратить доступ к моему wp-admin или wp-login.phpКаков правильный способ скрыть/предотвратить доступ к wp-admin

На всех сайтах Wordpress, которые я вижу (хорошо сделанные), вы никогда ничего не увидите, если вы type thesite.com/wp-admin

Как я мог видеть, одним из способов сделать это является ограничение доступа к этой папке путем создания файла .htaccess и ограничение по IP доступа к папке. Кажется, это «самый чистый» способ сделать. Что я не уверен в этом, так это то, что у меня есть динамический адрес, предоставляемый моим провайдером, поэтому в определенное время мой IP-адрес изменится, что заставит меня также изменить .htaccess на мой новый адрес, я не вижу это практично. Я также могу установить диапазон, но, делая это, я также разрешаю доступ ко всем людям в пределах этого диапазона IP-адресов (например, другие клиенты моего интернет-провайдера).

Я тогда пытаюсь найти лучший/стандартный способ сделать это.

Кто-нибудь может мне помочь?

Благодаря

ответ

3

От this Codex discussion - this blog article претензий, чтобы обеспечить решение для переименования wp-admin. Я не тестировал его, но, похоже, он работал для людей.

Однако

Этот хак имеет свои недостатки.

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

В качестве альтернативы, есть также возможность adding an Apache .htaccess password dialog на вершине сор-администратора входа в систему. Это не скроет, но это обеспечит другой (хотя и раздражающий) уровень безопасности.

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

0

Я думаю, что можно было бы обойти недостатки, описанные выше, добавив фильтры для admin_url (или, возможно, даже site_url, если вы просто проверите параметр $path).

Это довольно много непроверенной, но, вероятно, будет хорошей отправной точкой:

function my_admin_url($url = null, $path = null, $blog_id = null) { 

    // This our `wp-admin` replacement 
    // probably wiser to use a filter/function for this, so that you can 
    // do it dynamically by checking for the actual directory or something 
    $custom_admin_dir = 'my-admin'; 

    // Remove filename.php 
    if (!empty($path)) 
     $url = dirname($url); 

    // Remove wp-admin 
    $url = dirname($url); 

    // Build up a new URL 
    $url = trailingslashit(trailingslashit($url) . $custom_admin_dir) . $path; 

    return $url; 
} 

add_filter('admin_url', 'my_admin_url', 10, 3); 

Кроме того, если ваш на сети вы можете принять параметр $blog_id во внимание и/или сделать тот же самый вещь для фильтра network_admin_url.

+0

Только что сделал быструю проверку. Хотя этот метод делает в деле изменения многих ссылок, генерируемых 'admin_url()', он не изменяет всех необходимых URL. Кажется, что работает интерфейс, но при загрузке бэкенда некоторые файлы не могут быть найдены для включения PHP. Возможно, вы можете исправить это с помощью другого фильтра, и в любом случае это, вероятно, проблема, даже если просто переименовать каталог 'wp-admin'. – Simon

0

Существует статья о how to secure wp-admin.Он также имеет свои недостатки, поскольку он перезаписывается каждый раз, когда вы обновляете wordpress, но он выполняет свою работу.

 Смежные вопросы

  • Нет связанных вопросов^_^