WordPress安全:使用邮箱登录网站

WordPress安全问题一直以来都是我比较重视的,前面一篇文章讲到了WordPress的10个安全小知识,今天来讲一下根本的解决登录防破解的方法,使用邮箱登录网站。

解决思路

通过 authenticate 钩子判断是邮箱的话就通过邮箱取到用户名,然后使用用户名登录。

实现代码

//~ 添加邮箱登录
function dmeng_email_login_authenticate( $user, $username, $password ) {
if ( is_a( $user, 'WP_User' ) ){
return $user;
}
if ( !empty( $username ) && is_email( $username ) ) {
$username = str_replace( '&', '&', stripslashes( $username ) );
$user = get_user_by( 'email', $username );
if ( isset( $user, $user->user_login, $user->user_status ) && 0 == (int) $user->user_status )
$username = $user->user_login;
}
return wp_authenticate_username_password( null, $username, $password );
}
remove_filter( 'authenticate', 'wp_authenticate_username_password', 20, 3 );
add_filter( 'authenticate', 'dmeng_email_login_authenticate', 20, 3 );

相关资料

  1. 多梦主题从 2.0.7.1 版本开始已经集成邮箱登录功能,无需再添加
  2. WordPress邮箱登录插件:WP Email Login

原文链接:WordPress使用邮箱登录

声明: 未经本站许可,谢绝转载!

0 个主题帖 其中:热心观众:0 个, 管理员:0 个

抱歉,评论被关闭