Изменение URL входа без плагина

4 сент. 2014 г., 00:24:13
Просмотры: 47.7K
Голосов: 6

Я хочу изменить URL входа в мою установку WordPress, чтобы он отличался от /wp-admin.php

Я планирую сделать это и рассматриваю вариант изменения файла .htaccess, добавив:

RewriteRule ^login$ http://yourdomain.com/wp-login.php [NC, L]

Однако, насколько я понимаю, переход по /wp-admin все еще позволяет людям войти в систему, используя эту ссылку. Я думаю о создании PHP-редиректа, чтобы когда пользователь вводит /wp-admin, его перенаправляло на страницу 404 (страница не найдена).

Какой самый лучший способ изменить URL входа без использования плагина и с соблюдением самых высоких стандартов безопасности?

4
Комментарии

Я думаю, что гораздо лучше, если вы создадите пользовательскую страницу входа.

cybmeta cybmeta
4 сент. 2014 г. 00:27:38

Создание пользовательской страницы входа не дает вам возможности изменить URL. Она позволяет только изменить внешний вид и определенные параметры.

Travis Patron Travis Patron
4 сент. 2014 г. 02:02:38

Ну, это не совсем так. Вам все равно нужно отправлять данные формы входа в wp-login.php, и прямой URL wp-login.php все равно доступен (это также можно сделать с помощью RewriteRule в .htaccess), но вы можете использовать любой URL для страницы входа. Просто настройте его при создании страницы, как вы делаете с любой другой страницей в WordPress. Возможно, вы не до конца прочитали ссылку, которую я опубликовал. Не уверен, какова ваша цель, но пользовательская страница входа удовлетворяет аспекту пользовательского URL, плюс вы можете полностью настроить ее.

cybmeta cybmeta
4 сент. 2014 г. 09:47:48

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

Otto Otto
19 мар. 2016 г. 11:53:33
Все ответы на вопрос 5
1

О смене URL для входа, я уже сделал это самостоятельно. Это помогает защитить сайт и предотвратить брутфорс. Вы можете изменить это в файле .htaccess. Но также нужно добавить фильтр для замены старого URL входа в WordPress. Пример для моего сайта: Файл .htaccess:


RewriteRule ^signin(.*) wp-login.php?%{QUERY_STRING}

В вашей теме или кастомном плагине можно добавить фильтр, чтобы WordPress показывал правильный URL входа.


add_filter( 'login_url', 'my_login_page', 10, 2 );
function my_login_page( $login_url, $redirect ) {
    return str_replace("wp-login.php","signin",$login_url);
}

add_action( 'login_form', 'replace_login_submit_form',1); 
function replace_login_submit_form() {
  $your_content = ob_get_contents();
  $your_content = str_replace("wp-login.php","signin",$your_content);  
  ob_get_clean();
  echo $your_content;
}

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

15 янв. 2016 г. 10:40:53
Комментарии

не работает.. пробовал.

abhij89 abhij89
29 апр. 2021 г. 15:14:25
0

Добавьте этот код в файл functions.php после этого вы не сможете получить доступ к странице по адресу https://www.thebetacoders.com/wp-admin
Теперь вы сможете получить доступ к странице по адресу https://www.thebetacoders.com/wp-login.php?customtext


Измените переменные $new_login в соответствии с вашими потребностями.

<?php

function redirect_to_nonexistent_page()
{

  $new_login =  'customtext';
  if (strpos($_SERVER['REQUEST_URI'], $new_login) === false) {
    wp_safe_redirect(home_url('NonExistentPage'), 302);
    exit();
  }
}
add_action('login_head', 'redirect_to_nonexistent_page');

function redirect_to_actual_login()
{

  $new_login =  'customtext';
  if (parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY) == $new_login && ($_GET['redirect'] !== false)) {
    wp_safe_redirect(home_url("wp-login.php?$new_login&redirect=false"));
    exit();
  }
}
add_action('init', 'redirect_to_actual_login');
25 июн. 2021 г. 02:01:41
0

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

add_filter( 'login_url', 'my_login_page', 10, 3 );
function my_login_page( $login_url, $redirect, $force_reauth ) {
    return home_url( '/my-login-page/?redirect_to=' . $redirect );
}

Следующий пример вернет URL для входа http://example.com/my-login-page/ для функции wp_login_url():

скопировано из примеров: https://developer.wordpress.org/reference/hooks/login_url/

4 дек. 2021 г. 13:20:12
3
-1

Вы можете использовать этот код:

add_action('init','custom_login');

function custom_login(){
 global $pagenow;
 if( 'wp-login.php' == $pagenow && $_GET['action']!="logout") {
  wp_redirect('http://ВАШ_САЙТ.com/URL');
  exit();
 }
}
27 янв. 2017 г. 22:36:55
Комментарии

Пожалуйста, добавьте несколько комментариев к этому. Это плохая практика — не давать пояснений к ответам.

Phill Healey Phill Healey
2 апр. 2018 г. 23:08:00

это перенаправление, а не новый URL для входа.

Tritof Tritof
23 февр. 2019 г. 14:16:14

это не тот ответ, который запрашивался.

Ibnul Hasan Ibnul Hasan
24 янв. 2021 г. 19:35:34
2
-2

Это возможно путем создания нового файла, аналогичного существующему wp-login.php. Необходимо выполнить следующие шаги:

Рекомендация: Сделайте резервную копию файла wp-admin.php перед выполнением следующих инструкций.

  • Откройте место установки WordPress, если он находится в корне, просто найдите файл с именем wp-login.php
  • Теперь создайте новый PHP-файл и назовите его в соответствии с новым URL для входа, например, если вы хотите изменить URL входа с www.yoursite.com/wp-admin на www.yoursite.com/iamgaurav, создайте новый файл с именем: iamgaurav.php
  • Скопируйте весь код из существующего файла wp-login.php и вставьте его в новый файл iamgaurav.php
  • Замените все упоминания wp-login на iamgaurav (удобно сделать массовую замену через любой редактор)
  • Сохраните этот файл и удалите оригинальный wp-login.php из корневой директории.

Готово. Очистите кеш и проверьте вход по новому URL: www.yoursite.com/iamgaurav

При попытке входа по www.yoursite.com/wp-admin будет возникать ошибка 404.

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

Спасибо.

4 июн. 2018 г. 19:49:48
Комментарии

Нет. Нет. Не изменяйте основные файлы ядра.

De Coder De Coder
26 авг. 2018 г. 12:11:36

Если вы собираетесь рекомендовать изменение основных файлов (чего делать категорически не следует), ХОТЯ БЫ проявите порядочность и поясните проблемы, которые может повлечь такое решение

Raba Raba
20 дек. 2019 г. 10:57:10