WordPress极简博客 WordPress极简博客
  • 新鲜事
  • 战疫情
  • UI素材
    • UI素材
    • 电商/节日
    • PPT
      • 节日庆典
      • 工作汇报
      • 商业计划书
    • word
      • 简历竞聘
      • 合同/公文
  • 创客头条
    • 音乐分享
    • 初创文章
    • 极客头条
    • 生活趣事
    • 生活日记
    • 防骗指南
  • 编程教学
    • API日记
    • Linux安全栏目
      • Linux运维安全汇总
      • DDOS攻击防护
      • XSS攻击防护
      • SQL安全防护
    • Python技术栏目
      • Python基础入门
      • Python基础结构
    • WordPress技术栏目
      • WP主题
      • WordPress技术教程
      • RIPRO主题美化
    • WordPress漏洞发布
    • 技术教程汇总
    • 严选源码
  • 专题
  • 基友
  • 隐私
  • 注册
    登录
立即登录
  • 首页
  • 云优化
  • 新疫情
  • 新鲜事
    • 热文
    • 极客
    • 生活
  • 技术篇
    • WP主题
    • 技术教程
    • Python入门
    • Python基础
  • 专题篇
  • 友链君
首页 技术教程(干货) WordPress教程-禁止多人同时登录一个账号

WordPress教程-禁止多人同时登录一个账号

夏柔 5月 16, 2020

对于会员制的网站,尽可能避免多人同时登录一个会员账号应该是比较需要的,此前已经分享过 Prevent Concurrent Logins 和 Wp Single Login 两个插件,都可以满足需求,只是这两个插件很久没有更新了,不知道和新版的 WP 兼容如何,今天再推荐一个类似插件 Loggedin,和之前两个不太一样的是,它支持设置最大活跃登录数,也就是一个账号允许多少个客户端同时登录,还可以通过钩子排除掉一些用和用户角色。已测试兼容 wordpress 5.0+ ,Loggedin 使用很简单,直接在后台插件安装界面搜索 Loggedin 即可在线安装,或者到官方下载 https://wordpress.org/plugins/loggedin/,启用插件后,在 设置 – 常规 界面,就可以看到设置选项:

WordPress教程-禁止多人同时登录一个账号-WordPress极简博客

一旦有多个人(客户端)登录同一个账号,超过了设定的活跃登录数,就会出现如下提示:

WordPress教程-禁止多人同时登录一个账号-WordPress极简博客

已经该插件汉化,点击下载简体中文包,解压后将里面的文件上传到 wp-content/languages/plugins 目录即可生效,同时避免插件升级时丢失语言。下面分享下官方提供的排除用户和用户角色的代码示例,按照需求修改好代码,然后添加到主题的 functions.php 文件即可。

排除用户

//排除某些用户,不受最大活跃登录数限制
function f_loggedin_bypass_users( $bypass, $user_id ) {

// 在 array( ) 中输入用户id,多个id用英文逗号隔开
$allowed_users = array( 1, 2, 3, 4, 5 );
return in_array( $user_id, $allowed_users );

}

add_filter( 'loggedin_bypass', 'f_loggedin_bypass_users', 10, 2 );

排除角色

//排除某些用户角色,不受最大活跃登录数限制
function f_loggedin_bypass_roles( $prevent, $user_id ) {

// 在 array( ) 中输入用角色名,多个用户角色使用英文逗号隔开
$allowed_roles = array( 'administrator', 'editor' );
$user = get_user_by( 'id', $user_id );

$roles = ! empty( $user->roles ) ? $user->roles : array();

return ! empty( array_intersect( $roles, $allowed_roles ) );

}

add_filter( 'loggedin_bypass', 'f_loggedin_bypass_roles', 10, 2 );
#禁止多人同时登陆一个账号
0
J2dcg1.png
猜你喜欢
  • Nginx添加跨域限制规则
  • 使用测速脚本对国内Linux服务器进行测速
  • 域名爆破之自动化信息收集脚本
  • 利用免费接口实现国家开放大学刷网课脚本
  • RiProV2定制导航条
  • 判断是否在微信浏览器打开
  • 微信内自动播放音频非百度方案
  • 利用veImageX加速您的网站,想不快都难!
  • SWAPIDC减少注册信息及防刷注册量教学
  • Python实现定时发送每日早报及生活指数
13 8月, 2024
08月13日,星期二, 每天60秒读懂世界!
夏柔
站长
夏山如碧 - 怀柔天下
1688
文章
25
评论
58145K
获赞
版权声明

文章采用创作共用版权 CC BY-NC-ND/2.5/CN 许可协议,与本站观点无关。

如果您认为本文侵犯了您的版权信息,请与我们联系修正或删除。
投诉邮箱wpsite@aliyun.com

栏目推荐
Python基础入门33
WordPress技术教程267
前沿技术情报所22
城市创新——新消费11
最近有哪些不可错过的热文23
程序员的养生之道0
节
春
  • 新鲜事
  • 疫情实况
  • UI素材
  • 技术教程
  • 音乐分享
  • 专题
  • 友情
  • 隐私
  • 云优化
Copyright © 2019-2025 WordPress极简博客. Designed by 夏柔. 辽公网安备21010502000474号 辽ICP备19017037号-2