出于安全目的更改登录URL

时间:2012-02-21 作者:Tom Auger

出于安全原因,应该可以重命名登录名。php,并更改其他访问快捷方式(例如:wp admin)以指向新的URL。

是否有记录在案的最佳实践?如果不是,最正确的方法是什么?

我知道这本身并不是安全性,只是混淆,但我认为这只是另一层保护:不是其他安全策略的替代,例如失败的锁定限制和严格的密码执行。

欢迎采用创新方法。

2 个回复
最合适的回答,由SO网友:Tom Auger 整理而成

当然,要做到这一点,挑战不在于“破坏”或“黑客”核心。

借用krembo99的过滤器思想,我想知道从插件的角度来看,以下是否不是解决方案的高级方法:

复制wp登录。php到根WP目录中的新文件\'login_url\' 使用筛选器指向此新文件\'admin_url\' 筛选以指向管理员的新“伪url”设置\'login_init\' 操作要么退出,要么显示一些默认错误屏幕,可能重定向到404页面do_action( \'login_init\' ) 行(或将其替换为您自己的自定义操作)do_action( \'login_init\' ) 线

SO网友:krembo99

好吧,考虑像评论中那样重写和重定向-

选择最适合你的。

HOOK wp\\u login\\u url()//此函数用于生成登录url地址

示例:

add_filter( \'login_url\', \'another_login_url\', 10, 2);
function another_login_url( $force_reauth, $redirect ){
    $login_url = \'your_chosen_login_url\';

    if ( !empty($redirect) )
        $login_url = add_query_arg( \'redirect_to\', urlencode( $redirect ), $login_url );

    if ( $force_reauth )
        $login_url = add_query_arg( \'reauth\', \'1\', $login_url ) ;

    return $login_url ;
}
Redirect 行动

add_action( \'login_redirect\', \'mysite_login_redirect\');
function mysite_login_redirect(){
    return \'your_url\';
}
。htaccessrewrite URL

RewriteRule ^login$ http://site.com/wp-login.php [NC,L]
。htaccessredirect rule

RewriteRule ^login$ http://site.com/wp-login.php [NC,L,R]
就我个人而言,我更喜欢重写功能

add_rewrite_rule()

add_action( \'init\', \'k99_login_rewrite\' );
function k99_login_rewrite() {
    add_rewrite_rule( \'login/?$\', \'wp-login.php\', \'top\' );
}
注意:这些方法中的一些可以根据wp版本进行更改,但在最新版本中,所有方法都应该可以工作。如果你找不到适合你的方法,还有其他方法。。

结束

相关推荐

wp_login_form redirect

是否有方法将使用wp\\u login\\u表单登录的用户重定向到注册时自动创建的自定义页面似乎URL需要是绝对的,很明显URL的结尾会随着每个用户的不同而变化。请参阅用于在注册时创建页面的函数function create_user_page($user_id) { if ( $user = get_userdata($user_id) ) { // Create a new user-specific page $page = array