在前面的教程中,我们向大家介绍了,如何防止WordPress网站被暴力破解,这次的教程,我们将继续围绕wordpress优化与安全的方面向大家讲解,如何隐藏wordpress管理面板路径并替换原来的路径,来防止那些不法份子尝试攻击或者破解WordPress后台。
如何实现将/wp-admin/ 修改成 /xingyuan-panel/ (自定义)这样的方式呢?这不是重定向,我们将完全改变默认管理员路径到仪表盘。let's do it!

隐藏WordPress管理路径

首先将下面的代码复制到你的wp-config.php文件中:

define( 'WP_ADMIN_DIR', 'xingyuan-panel' );
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR );

然后将下面这些代码放到你的 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);
}

OK,最后添加如下规则到.htaccess里就搞定。

RewriteRule ^xingyuan-panel/(.*) wp-admin/$1?%{QUERY_STRING} [L]

如果是nginx的服务器则添加下面的到你的配置文件:

rewrite ^/xingyuan-panel/(.*) /wp-admin/$1?$args last;

现在你可以访问管理面板了:http://www.你的域名.com/xingyuan-panel/ 是不是非常的简单呢?

当然这并没有完成,我们还得限制wp-admin这个路径。

限制wp-admin路径访问

下面的代码会将所有的/wp-admin/ URL请求到你的404.php错误页面,将代码放置到你主题的functions.php文件中:

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' );
    }
  }
}

当然这里的404.php 你可以改成404.html

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注