龙笑天龙笑天  2016-08-08 06:19 龙笑天下 隐藏边栏 |   4 条评论  622 
文章评分 17 次,平均分 4.9

Wordpress 禁止多个人登录同一用户帐号 wordpress

许多 WordPress 都是开放注册的,又有不少的站点是在做交易站点,可以进行购买实物在线交易的,在线交易的站点往往是禁止同一个帐号多人使用的,而在 WordPress 中是没有限制的,也就是说一个帐号可以进行共享,然后多人同时重复登录的,这给交易带来了困难,也带来一定的安全问题。

而对于如何禁止同一个注册帐号同时重复登录的问题,有简单的插件来实现,如:Prevent Concurrent LoginsWp Single Login,这 2 个插件都不需多余设置,任选其一安装启用即可。

当然,不想用插件的话,也可以通过在 functions.php 中添加如下代码(来自上面的插件 Prevent Concurrent Logins)的方法来解决这个问题:

/**
 * WordPress 禁止多个人登录同一用户帐号
 * 龙笑天下  https://www.ilxtx.com/prevent-concurrent-logins-or-wp-single-login.html
 */
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' );
「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

龙笑天
龙笑天 关注:32    粉丝:38
互助分享,互联网本该如此!

发表评论

最赞评论
  1. 懿古今
    懿古今 评论达人 LV.1 来自天朝的朋友 谷歌浏览器 45.0.2454.101 Windows XP 广西南宁市 电信

    如果纯粹的个人博客,我觉得还是不开放注册的好,当然如果是综合性的站点,这个功能还是十分必要的

  1. 懿古今
    懿古今 评论达人 LV.1 来自天朝的朋友 谷歌浏览器 45.0.2454.101 Windows XP 广西南宁市 电信

    如果纯粹的个人博客,我觉得还是不开放注册的好,当然如果是综合性的站点,这个功能还是十分必要的

    板凳 2016-08-10 17:57
  2. 成航先森
    成航先森 评论达人 LV.3 来自天朝的朋友 谷歌浏览器 48.0.2564.116 Windows 10 四川省成都市 电信

    个人博客,开放注册还是算了

    沙发 2016-08-08 20:40
扫一扫二维码分享