WordPress隐藏管理路径,保护网站安全

之前我们引见过如何将WordPress装置到子目录并提到过WP Super Cache的CDN面板下Off-site URL选项能够设置URL重写,假如我们的网站并非装置在网站根目录而是装置在子目录,这个URL重写也能够协助我们有效躲藏WordPress装置目录的文件夹名,防止某些闲得无聊的人经过查看源代码晓得网站文件的位置,进而对我们的网站停止暴力破解。

图片[1]-WordPress隐藏管理路径,保护网站安全-孤勇者社区

固然重写后的URL躲藏了我们网站文件的途径,但是这种躲藏方式关于访客直接经过“域名+wp-admin”的方式直接访问WordPress默许登录窗口是无效的,比方说:我将WordPress的一切程序放在了网站根目录下的一个名为wordpress的文件夹下,假如我仅仅运用了WP Super Cache的CDN功用重写了资源的URL,当我访问“blog.quietguoguo.com/wp-admin”时,网页会自动跳转到“blog.quietguoguo.com/wordpress/wp-admin”下,这样WordPress的默许登录界面就会暴显露来,而我的管理途径也会暴显露来,这样无疑是不平安的,那么该如何躲藏网站的管理途径呢?下面就将我从网上搜集并整理的办法分享给大家。

修正wp-config.php文件

首先,在更改WordPress管理途径之前我们需求先想出一个新的途径称号用来交换“/wp-admin/”,比方我这里运用的“/My-admin/”;然后我们需求在WordPress的配置文件wp-config.php中增加一些常量,详细代码如下:

//WordPress躲藏管理途径
define('WP_ADMIN_DIR','My-admin'); 
define('ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);

更改完wp-config.php之后,我们需求修正一下主题文件夹下的functions.php文件,由于各个主题的functions文件命名不一样,大家能够依据本人主题选择相应的文件。在functions.php中添加一个filter,详细代码如下:

//WordPress躲藏管理途径
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);
  }

修正Rewrite规则

修正完以上内容后我们需求修正下网站的Rewrite规则来将WordPress的管理途径由”/wp-admin/”重定向到我们新的管理途径”/My-admin/”上去。

Apache用户需求在WordPress装置目录下的.htaccess文件中添加如下代码:

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

Nginx用户需求在virtual host文件中添加如下代码:

location ~* /My-admin/ {
rewrite ^/My-admin/(.*) /wp-admin/$1 last;
}

好了,假如不出不测的话,停止到这里你的网站应该就能够经过“域名+/My-admin/“来访问WordPress默许的登陆页面进而管理网站后台了。假如你将WordPress装置到了子目录中,则访问途径为”域名+/WordPress装置目录/My-admin/”。

留意:假如你在上面Rewrite规则中自定义的途径名“My-admin”后面添加了“/”则访问时必需带上“/”;假如“My-admin”后没有带上“/”,则访问“My-admin”与“My-admin/”是一样的。而且有一个小问题是假如你访问的途径后面没有“/”当你进入后台选择其他选项时会报错,而假如My-admin后面有“/”时不会报错。

这个问标题前我还没想到好的方法处理,权且留待日后补充吧。

重定向wp-admin

修正完上述内容后我们能够经过新的访问途径管理后台,但是你会发现原有的wp-admin途径照旧起作用,这显然不是我们所希望的,下面我们就经过代码来将默许的管理途径重定向到一个其他的页面。值得留意的是,这次我们需求将代码添加到我们所运用主题的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.html' );
            }
        }
    }

当然,这里你能够把重定向的“404.html”换成其它静态文件。这个404.html的文件应当是放在你WordPress的装置文件夹下的。

好了,详细的内容就这些。

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞13赞赏 分享
评论 共2条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像虚撒0
    • 头像韩的0