在我看来,如果您使用插件,它会在您的 WordPress 中发现安全漏洞。
您可以使用以下步骤创建自己的登录 URL,无论是 admin 还是其他方式,如下所示:
1.) 将常量添加到wp-confing.php
define('WP_ADMIN_DIR', 'secret-folder');
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);
2.) 将以下过滤器添加到functions.php
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);
}
3.) 如果您使用的是 Apache,请在 .htaccess 文件中添加以下行
RewriteRule ^secret-folder/(.*) wp-admin/$1?%{QUERY_STRING} [L]
编辑 Nginx 虚拟主机文件并放置以下内容:
location ~* /admin/ {
rewrite ^/admin/(.*) /wp-admin/$1 last;
}
完成...!!!
现在您的管理员 URL 将类似于:http://www.yourdomain.com/secret-folder/
以下代码将限制 URL:site.com/wp-admin
add_action('login_form','redirect_wp_admin');
function redirect_wp_admin(){
$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' );
}
}
}
编辑:
编辑 Nginx 虚拟主机文件并放置以下内容:
location ~* /admin/ {
rewrite ^/admin/(.*) /wp-admin/$1 last;
}
如果您想将 url 从 index.php 重定向到管理员
server {
index index.php;
if ($request_uri ~* "^(.*/)index\.php$") {
return 301 $1;
}
location = /admin/index.php {
return 301 $scheme://www.example.com/admin/;
}
}
这样做的另一个好处是nginx 的返回比重写更快。