禁止wordpress多人同时登录一个账号的设置方法

wordpress-05-logos-button

有很多WordPress网站都是对外开放注册,不仅可以增加博客活越性,而且增加网站对seo的友好性,另外也会大大滴增加网站安全指数。那么问题来了,处于对网站安全的考虑,有时候我们希望只允许一个用户登录。怎么才能实现呢?在wp主题站的倡meng给大家分享了一个老外使用的方法,分享以玩用。

登录网站后台>外观>functions.php,将下面的代码粘贴到其中即可:

//检测当前用户并记录
function pcl_user_has_concurrent_sessions() {
	return ( is_user_logged_in() && count( wp_get_all_sessions() ) > 1 );
}

//获取用户当前登录用户的数组
function pcl_get_current_session() {
	$sessions = WP_Session_Tokens::get_instance( get_current_user_id() );
 
	return $sessions->get( wp_get_session_token() );
}

//只允许为每个用户分配一个会话
//如果当前用户组已被一个新的用户使用
//然后我们将阻止他们的进行登录
//他们将再次登录以确定他们的身份
/*
*初始化
*返回
*/
function pcl_disallow_account_sharing() {
	if ( ! pcl_user_has_concurrent_sessions() ) {
		return;
	}
 
	$newest  = max( wp_list_pluck( wp_get_all_sessions(), 'login' ) );
	$session = pcl_get_current_session();
 
	if ( $session['login'] === $newest ) {
		wp_destroy_other_sessions();
	} else {
		wp_destroy_current_session();
	}
}
add_action( 'init', 'pcl_disallow_account_sharing' );

添加之后就万事大吉了,不用再担心网站用户信息的安全性了!

欢迎转载,转载请注明本文链接:众推不靠谱 » 禁止wordpress多人同时登录一个账号的设置方法

吐槽 0


  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址