在我看来,如果你使用的插件,比它在你的WordPress会发现安全漏洞。
您可以使用下列步骤来创建自己的登录要么管理员的网址或其他如下:
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)添加下面一行的.htaccess文件,如果你使用的是Apache
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/
和下面的代码将限制网址: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;
}
在情况下,如果你想从index.php文件重定向URL要重新管理
server {
index index.php;
if ($request_uri ~* "^(.*/)index\.php$") {
return 301 $1;
}
location = /admin/index.php {
return 301 $scheme://www.example.com/admin/;
}
}
这样做的另一个好处是nginx
返回比重写更快。
在我看来,如果你使用的插件,比它在你的WordPress会发现安全漏洞。 – Deep
是的,我也试图做 –