Есть ли способ переименовать или скрыть wp-login.php?

Любой способ изменить URL-адрес wp-login.php? Кажется небезопасным, что все, кто когда-либо использовал WordPress, могли легко увидеть, использует ли ваш сайт его и получить право на страницу входа в систему.

Раньше был плагин под названием «Stealth login», но он не обновлялся. (И, следовательно, наше нежелание полагаться на плагины).

Solutions Collecting From Web of "Есть ли способ переименовать или скрыть wp-login.php?"

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

Вот некоторые статьи, которые могли бы помочь; не все напрямую отвечают на ваш вопрос, но все они так или иначе затрагивают вашу проблему безопасности:

  • Скрыть страницу входа в WordPress WP-Admin
  • Как предотвратить атаки на странице WordPress wp-login.php
  • Защитите свой WordPress, играя с вашим файлом .htaccess.
  • Как переходить с wp-login.php на login
  • Как защитить wp-login и wp-admin
  • Упрочнение WordPress с помощью перезаписи мод и htaccess

И, конечно же, это не блог-эксперт по Apache и WordPress, а не тот, кто пишет AskApache . Обязательно ознакомьтесь с ними:

  • Защита паролем AskApache, для WordPress
  • Безопасность с помощью учебника Apache htaccess
  • Список помеченных тегами WordPress на AskApache

Недавно я столкнулся с той же проблемой, и вы правы, что плагин Stealth больше не поддерживается. Однако, поскольку я наконец понял, что плагин Stealth был лучшим вариантом, я сделал чистую установку WordPress для последней версии WordPress, которую поддерживал плагин Stealth, чтобы выяснить, как работает плагин. Оказывается, единственное, что делает плагин, это создать файл .htaccess с некоторой магией. Файл .htaccess будет выглядеть примерно так:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^logout wp-login.php?action=logout&_wpnonce=asdfasdf&stealth_out_key=asdfasdfasdfasdf [L] RewriteRule ^login wp-login.php?stealth_in_key=asdfasdfasdf&redirect_to=http://example.com/login [R,L] RewriteRule ^admin wp-admin/?stealth_admin_key=asdfasdfasdfasdf [R,L] RewriteCond %{HTTP_REFERER} !^http://example.com/wp-admin RewriteCond %{HTTP_REFERER} !^http://example.com/wp-login\.php RewriteCond %{HTTP_REFERER} !^http://example.com/login RewriteCond %{HTTP_REFERER} !^http://example.com/admin RewriteCond %{QUERY_STRING} !^stealth_in_key=asdfasdfasdfasdf RewriteCond %{QUERY_STRING} !^stealth_out_key=asdfasdfasdfasdfasd RewriteCond %{QUERY_STRING} !^stealth_reg_key=asdfasdfasdfasdfasdf RewriteCond %{QUERY_STRING} !^stealth_admin_key=asdfasdfasdfasdfasdf RewriteRule ^wp-login\.php http://example.com [R,L] RewriteCond %{QUERY_STRING} ^loggedout=true RewriteRule ^wp-login\.php http://example.com [R,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 

Я изменил все ключи на некоторые варианты «asdfasdfasdf» – очевидно, вам нужно будет создать для вас некоторые секретные ключи.

Надеюсь это поможет!

или вы можете переименовать из wp-login.php в some-obscure-name.php, а затем, когда вы хотите войти в систему, введите url / some-obscure-name.php вместо перехода на wp-admin.php

Вот что я сделал:

Я просто переименовал каталог wp-admin в какое-то неясное имя pfgkn, например.

перейдя на http://your-domain.com/wp-admin/ перенаправляет вас на свою домашнюю страницу по адресу http://your-domain.com/ или что бы вы не перенаправляли 404.

Когда мне нужно войти в систему – я просто переименую каталог pfgkn в wp-admin, внеся свои изменения, а затем переименую его обратно в pfgkn.